Пятница | 04.07.2025 |16:47
Приветствую Вас Гость Мира Спайро | RSS
  • Страница 1 из 47
  • 1
  • 2
  • 3
  • 46
  • 47
  • »
Результаты поиска
aleksusklimСообщение # 1 | Тема: Секреты и глюки в Spyro 3 Вторник, 14.06.2011, 07:44
Аватар aleksusklim
фдулыгылдшь
Редактор
«1066»
Где: Не в городе Драконов
Приветствую всех участников данного форума! Я расскажу свою историю игры, но прежде немного сообщу о том, как я ковырялся в огромном количестве страниц этого форума. Ужас просто! Я так и не понял, куда вообще писать, хотел прочитать побольше, но тут так много информации… Эту тему я прочёл процентов на 80% и заметил, что многие новоприходящие пользователи опять и опять говорили про одни и те же глюки, следовательно, тему они не изучали. А я изучал. Может, не скажу ничего нового, но мнением хочу поделиться. (Так и не понял, что такое ваша «ролевая игра», а «правила форума» я в конец ЗАМУЧАЛСЯ читать…)

Итак, Spyro 3. Была американская версия на диске. Игра классная, но появлялись проблемы. Яица исчезали в огромных количествах, но поначалу была возможность их добирать. Первый мир я закрывал на 100% и второй тоже. А вот третий с самого начала не задался: В «крабовом-пиратском-карабельном» уровне недоставало нескольких бриллиантов. Как бы старательно я не искал. Даже наученный Спаркс не чуял их! А в других уровнях иногда враги просто не давали их, или камни падали в пропасть. Ну чёрт с ними, 70% всегда можно найти. Яица пропадали сначала «главные» из миров друзей-животных (не позволяя проходить мини-игры). Затем система обнаглела и забирала половину яиц из всех порталов первого мира. Но путь туда заказан, всё можно восстановить. После победы над третьим боссом пропали управляющие яица второго мира, а потом и третьего. Пропали и сами миры. Так, приходилось заново побеждать второго босса, чтобы попасть в третий мир (или нажать «выход» из третьего босса). Спаркс позеленел, оставив всего 2 шанса ранения из 4 (а к тому времени уже и из пяти!) Если вскрыть колдунью, то нельзя продержаться и полминуты – игра обнуляется и выбрасывает в первый мир с пустыми карманами, зато с вечнозелёной стрекозой! Но такую историю вы все прекрасно знаете.
Ещё по игре я замечал другие глюки. Иногда был сломан шар. Иногда летал шаровертолёт. Но чаще – ракетошар. Однажды ракетошар приземлился на сломанный вертолёт или вертолёторакета на шар. Несколько раз ракета во время полёта разукрашивалась ужасными узорами, реже это делал вертолёт. Пару раз за повторное прохождение где-то между вторым и третьим миром был пунктик «Супер Бонус» и там я будто уже всех победил! Но прошло много бед, бриллиантов ведь нет, так обмануть ворота для суперпламениполёта догадался сразу я и почистил мир тогда. (простите, что иногда пишу стихами, просто я поэт). Но за главную дверь меня там так и не пустили.
Если же я не стану бить колдунью, а захочу финализировать все уровни, то скоро остаются только первый и последний мир, без возможности высадки где-то ещё. Также попадался Кошельков на мостике, которого отпинать можно («Он и мне денег должен!»), но потом этот барыга хотел сдирать деньги за животных по нескольку раз, хотя порталы уже открыты. Самым странным моментом была Зоя, которая что-то говорила в первом мире возле транспортного средства, помню фразу: «…If you have illegal copy…». Моё вопрос ко всем вам: есть у кого-нибудь скриншот этого разговора на английском языке?

ОК, глюканый диск был обменян на антологию 3в1 русская версия. Первый Спайро мне показался чуть скучнее и хуже (треугольник нисколько не способствовал полёту), зато работал на 100% чисто. Второй Ripto’s Rage оказался весёлый и неглючный. Но в третьем мире был один портал, при приближении к которому вместо того, чтобы появилось название уровня, игра замирала и зависала (нельзя было даже взять шар, расколов камень, так как портал был близко). Ещё точно также висло при разговоре с третьим чуваком из уровня Метрополис и Хантером в последней трассе. Я думаю, это переводчики напортачили (тему «глюки Spyro2» я, простите, не читал, но обещаю исправить этот факт!).
А вот русский Spyro3 от «Paradox» имел странности («парадоксы»!) уже в начале. Было два пунктика: «99 lives» и «99999 gems». Ещё выбор «Pal/NTCS» Причём если выставить на второе, то все реплики и звуковое сопровождение немного отстают от картинки во всех «киновставках» или обрывают их. Если же не трогать этот переключатель, то явных глюков нет.
Однако, яица не переставали исчезать. Но обиднее всего – я так и не смог «Надрать *опу колдунье!» (как сказал не я, а мистер агент ноль-ноль-девять!). Sorceress пуляет в меня из своего арсенала, а я жду, когда Агент9 кинет мне пушку. Странно, что пушки (как и в американской версии) при падении становятся прозрачными. Если я (о чудо!) успеваю допрыгнуть до неё до того, как меня удаляют с поля, то эта сволочь Sorceress уносит ноги! А потом БАЦ – и я в первом мире. Ни одного удара не нанёс! А однажды, прилетев в первый мир после этого глюка, я прыгнул в воду (под порталом «Seashell Shore») и просто упал на дно. Мог даже поджаривать зелёные бутылки! Но только не выбраться оттуда…
Все глюки я списал на царапанный диск и старенький PlayStation. А теперь я скопировал Алкоголем образ и на Epsxe 1.7.2 (или «ePSXe 1.7.0», кому как нравиться), то игра была работоспособна. Начав потихоньку, я прошёл первый мир, но когда у Шейлы пропало первое яйцо, я понял – дело плохо! Используя программу ArtMoney (О-о-очень всем советую взять её на вооружение), я приступил ко взлому системы, хе-хе! Сперва обнаружил, что моя версия ArtMoney старее, чем эмулятор, и в ней нет встроенных адресов для него. Однако сказано, что ePSXe 1.6.0 использует адреса от 80000000 до 801FFFFF, два мегабайта. Но нулевой адрес моего Epsxe 1.7.2 – 0094C020, конечный – 00B4C01F. Сдвиг по фазе равен «80000000 минус 0094C020» = 7F6B3FE0 (можно выполнить в Windows-калькулятор Инженерный>Hex). Это я говорю на тот случай, если кто-то захочет использовать адреса, которые я приведу. Чтобы найти абсолютный адрес памяти игры (область 2Мб), нужно отнять от любого моего адреса 0094C020, а затем прибавить нулевой адрес вашего эмулятора (свой нулевой я нашёл так: PEC HexEdit поискал какое-нибудь значение, потом нашёл его же в ArtMoney при полном поиске, убедился, что это оно (поменял там – поменялось здесь) и нашёл разницу между его адресом в PEC и ArtMoney). Все дальнейшие взломы я проводил «поиском кодированного значения» или поиском «неизвестного». Всё-всё, перестаю писать фигню, начинается самое интересное!
Взламываю количество яиц В УРОВНЕ. Адрес (1 байт) на Sunrise Spring Home = 009BC320. Следующий же за ним – Sunny Villa = 009BC321. А если ещё и покопаться в этом блоке памяти, уу-ух! Все уровни записаны подряд, до Super Bonus Round = 009BC344. (Может рядом в этой области есть ещё какие-то скрытые или отвергнутые разработчиками яица!). Однако, всё не так просто. «0» – яиц нет. «1» – найдено первое яйцо. «2» – нейдено ТРЕТЬЕ яйцо. «3» – первое и третье… Да, двоичная система. На шесть яиц надо ставить «63». На три (у Шейлы) – «7» Только последовательность странная – первое, третье, пятое, второе, четвёртое, седьмое, восьмое. О да! Можно сделать во всех мирах во всех уровнях (и боссах) по восемь яиц! Достаточно забить весь блок 009BC320 – 009BC344 числом «255» (FF). А чтоб открыть миры достаточно и единичек. Ну вот я так и сделал, мне форсировано за пять минут удалось пройти все миры! И я ворвался к колдунье…
Но вскоре меня выкинуло. Мда, глюк плотно засел, собака! И яица пропали. Ладно, я заморозил все яица во всех уровнях, но колдунья вновь выкинула меня. Но теперь звери уже освобождены, где-то на трубе висит Мэр (правда висит из спины котика Seashell Shore!). А когда я разбил бочку, то из неё вскочила ШЕЙЛА и с глупым лицом молча смотрела не меня. Конечно, игра любит сама отнимать яица, и ловит глюки, когда это делаю я! Ладно, не судьба победить колдунью.
Я зашёл в четвёртый мир Спаркса (куда на PlayStation уж никак не мог попасть). Но его вечнозелёная натура постоянно проигрывала! Ужасно мучаясь, я дошёл до конца и победил двух змей. Оказывается, теперь Спаркс будет долбать бочки! Для чего эта способность тогда, когда (по идее) этих бочек уже нет!? (но у меня-то они есть, я ведь собрал 175 бриллиантиков, проставляя яица!) А вот, кстати, диапазоны на эти самые бриллианты: «4байта!» Sunrise Spring Home = 009BDA30. Следующий за ним (через три байта) тоже четырёхбайтовый Sunny Villa = 009BDA34. Итак по четвёркам до Super Bonus Round = 009BDAC0. (За ним ещё три похожих четырёхбайтовых адреса с нулевым значением, зачем же они, интересно бы знать?).
Однако, эти яица и бриллианты не помогут открыть порталы. Для этого я взломал «карманные» значения: Камни в кармане (4байта) = 009B873C; Яица в кармане, (1байт) = 009B8680. Теперь, проставляю туда 15000 и 148 и смело иду в супербонус! Честным способом собираю ещё 5000 (мечтал!) и открываю последнюю, самую тайную дверь… Ага, пипец. Там опять Sorceress! Но уж тут-то я её сделал!! И титры пошли… И всё!? А как же вечное суперпламя, как в Spyro2? (которое я также получил только когда взломал наличные шары и бриллианты, кстати, вот байт по адресу 009B58DB, когда равен 1 – Спайро может пулять огненные шары всегда. Жаль на Spyro3 он уже не работает.)

Но как же «Победить колдунью?» ? Я взял матч-реванш и стал изучать её арену.
Вначале, Спайро стоит, а колдунья смотрит на него. Агент9 бежит по своему кругу (после непристойной фразы по её ягодицы!) и останавливается справа-сзади. Можно: крутить камеру L1,L2,R1,R2; нажимать треугольник и оглядываться, пыхтеть кнопкой круг; включать паузу и атлас. Нельзя: бодаться квадратом, прыгать крестом и двигаться стрелками. Если выполнять эти правила, то игра будет так бездействовать БЕСКОНЕЧНО ДОЛГО. Если же взбаламутить всё, то полетят пушки, а колдунья начнёт стрелять. Примерно когда Обезъян сбросит прозрачную (!) пушку, через несколько секунд игра вылетает в начало. Значит, я должен убить её за эти 20-30 секунд!
Вариант 1. «Возьмём с собой оружие». Отправляюсь к третьему боссу и хватаю ракету. Взламываю НАЛИЧИЕ ракеты у себя и пытаюсь воссоздать это у колдуньи. Увы – ни в одном другом уровне, кроме босса, эти ракеты не действуют.
Вариант 2. «Суперпламя». Взламываю суперсилу на любых огненных воротах и тащу её к Sorceress. Облом – суперпламя тоже действует только в пределах уровня.
Вариант 3. «Сами с усами». Я взлечу и сам буду бить шарики на пушках, освободив агента от этой обязанности. Пытаюсь взломать суперполёт – опять нельзя вынести с уровня (Спайро жестоко «размазывается» в воздухе, хотя летит в портал как ни в чём не бывало). Взламаю Z- координату (или Y, в общем, высоту). Ура! Вот адрес, 4байта: 009BC351. Если заморозить, то ни прыгнуть, ни упасть. Лететь можно, но в плоскости. Я поставил себе горячие клавиши на заморозить/разморозить и +5/-5 чтобы регулировать высоту. О да, я лечу, где хочу! (опять в рифму). Сам бил шарики огнём. Но чокнутая пушка не хочет просто падать, пока не доплывёт (без шара!) до своей позиции и срывается вниз. Нет выигрыша во времени.
Вариант 4. «Остановите обезъяну!». Может в глюке виноват бегающий Агент9? Взламываю его координаты движения и замораживаю. Теперь он бегает на месте и не стреляет. Но игра продолжает выбрасывать. Я даже полностью выкидывал его за пределы арены, но без толку.
Вариант 5. «Снесём жизнь». Потренировавшись на других боссах, я наловчился взламывать переменную их жизни. Чтоб дохли с одного удара. Но у каждого свой адрес. Значит, я должен хоть разок шмальнуть по ней из пушки. Методом долгих проб и вылетов, я как-то умудрился попасть по колдунье. Взломал адреса, вот (по четыре байта): 00A9D890 и 00A9D894. Если обнулить их, то её жизнь становится нулевой. Но эта гадина постоянно убивает меня, Спаркса-то нет!
«Вернём стрекозку!». Взламываю значение моих хит-поинтов. Адрес Спаркса: 009BC5C8, 1 байт. Если там 1 – он зелёный, если 2 – синий, 3 – золотой, 4 – золотой со звездой Зои. Но если ноль – Спаркс исчезает. А потом как ни крути, пока бабочку не найдёшь, он не возвращается. Я даже не смог взломать его НАЛИЧИЕ. Ну и ладно, замораживаю на 3 – и он у меня вечнозолотой = бессмертие. Прикольно попробовать выставлять значение больше 4 (лучше двумя горячими клавишами +1/-1). Можно превратить его в перевёрнутого пучеглазого урода, можно оставить одни только искорки. Иногда он светиться, иногда выпускает лучи. Но есть вариант чёрный, ярко красный, малиновый и фиолетовый. Рекомендую, кто хочет разнообразить насекомое!
«Я убью тебя!». Взломав жизнь колдуньи, я наткнулся на очень любопытный адрес: 1байт 00A9D898. Если там ноль, то игра начинает думать, что это только начало битвы, и : Колдунья не дерётся. Обезьяна не стреляет, но бегает. Пушки не появляются, но летят те, что есть. Главное – игра НЕ ВЫЛЕТАЕТ! Вот оно! Запускаю, делаю шаг, устанавливаю в ноль, жду пушку. Сломя голову бегу к ней, устанавливаю ноль. Запрыгиваю в пушку (колдунья убегает), устанавливаю в ноль (она бегает на месте). Дальше круче – можно стрелять и всячески целиться, и байт не слетит, Sorceress продолжает не функционировать. Но снаряды на неё не действуют в таком состоянии. Обнуляю ей жизнь, стреляю и прыгаю… ЕСТЬ! Она сдохла. Летит в лаву. Тонет. Выскакивает яйцо. Рождаются два китайца. Появляется лифт. Спайро улетает. Показывают лаву. Колдунья выкарабкивается и……….. Выбросило в первый мир без гроша. Но ведь уже почти!!
«Метод проб…» Повторив операцию несколько десятков раз, я так и не дождался уведомления о победе. Может там просто таймер стоит, который по истечению выбрасывает?
Вариант 6. «Декремент». Взламываю неизвестное значение таймера (который должен замирать при паузе и обнулении 00A9D898). Что-то нашёл. Но там если заморозить, то бедный Спайро вылезает из кожи – без текстур, голенькая 3D моделька бегает. Прикольно… Но игра продолжает выбрасывать.
Вариант 7. «Инкремент». А если это не таймер, а часы? Взламываю на повышение… ЭВРИКА!!!!!!!!!! Адрес 00AAC44C, один байт. Обнулите и заморозьте. Там стоит забавный счётчик, и если этот байт заморозить, то он никогда не достигнет конца. И ИЗ БОССА НЕ ВЫБРОСИТ!!!! Я победил её без всех примочек, найденных ранее (даже без Спаркса). Оказывается, пушками тут не ограничиться. Потом кино показывали. Так я и знал: Хантер к Бианке не равнодушен! Но я его понимаю, правда, на мой взгляд, в плаще она куда милее выглядит. Потом титры с прекрасной музыкой (больше музыки в моей версии нигде нет). И всё. Но я же не закончил!
Остались непройденными только «Уровен Маст» или «Skill Level». Но мне в лом всё проходить! Тем более, что ранее я и так почти все их брал. Со спокойной совестью, взламываю скилы: 009B2BE8 – первый. 009B2BFB – последний. Остальные прямо между ними! Надо ставить (1байт) почему-то значение «3». Так и сделаем! А в эпилоге Кошелькова расстреляли динозавры. Небось сам-то им и продавал патроны!

…Вообще-то, я не хотел тут регистрироваться на сайте. Мне показалось, что здесь не стандартные любители игры, а просто помешанные на ней! Ролевые игры, названия статуса, названия тем… Я не знаю, ужас! Ну так, развлечься – пожалуйста. Да простит меня команда создателей-сенсеев, про которых везде написано: неприкосновенные – не обжаловать, ни обсуждать, ни спорить, ни критиковать… И правила форума слишком уж строгие. Но это уже вы сами как захотели, ладно. Зато некоторые пользователи просто гении! Если могут обнаружить такие скрытые штуки!
А я видел в игре ещё кое-что, и желаю, чтобы кто-нибудь это прокомментировал. В уровне Шейлы мой русский текст ВСЕХ надписей (включая паузу) становиться записанным не русскими буквами, а английскими – на ломаном транслите (Q=П, 6=Б…). Точно так это повторяется в уровне с «башнями и скейтом», но там ещё и иногда пропадает меню паузы. (В Spyro2 в уровне «Конус Магмы» часто пропадает карта) . Spyro3, на гонке с Хантером на реактивных скейтах я мог ездить по стенам и падать в центр трассы. А ещё, у меня получатся выделывать трюк имени «Мерзкого Норка» четырьмя способами. На любом трамплине зажимаю треугольник, даю «вверх» пока не сделаю полный оборот, а потом добавляю «вправо» не отпуская вверх и делаю таким образом диагональное вращение. Получаю 2500 очков. Но можно также вместо «вправо» жать «влево». И даже не «вверх», а «вниз». То есть, четыре варианта (но все они считаются одним трюком и дают меньше очков впоследствии). Ещё, внимательно:
Полуночная гора, рядом с порталом Супер Бонуса. Течёт лава. Но на повороте она «течёт» по треугольным полигонам текстуры и на одном из них неправильное направление потока. В нём лава течёт обратно. А в самом Супербонусе на том самом лавопаде, который нужен, чтобы облететь ворота, самая большая площадь падающей лавы «падает» не вниз, а влево! Это у всех так? Ещё, в уровне «Кратера Тики» в гонке с ворами есть Skill Level на разбивание пещеры. Стенка поддаётся любому воздействию, но по-идее, она должна разбиваться ТОЛЬКО от супербодания. И не потому что написано «Supercharge the wall», а потому что я на неё ПОСТОЯННО натыкался, падая с трассы, когда пытался вора поймать, имея суперскорость.

А вот теперь я выражаю респект всем тем, кто нашёл следующие глюки/секреты:
– Фото Рипто на скейте. Никогда бы не заметил!
– Факт того, что тело кита находится особняком от самого кита. Мог я сам догадаться, но в голову не пришло. А с моей волшебной Z – координатой, я нажал кнопочку и провалился сквозь пол. Там, в прикол, стоит ещё клетка, в которую поймают Хантера. Жаль, но она нематериальная.
– Возможность плавать в воздухе, умело прыгнув с водопада. Я никогда бы не поверил, но (как на здешнем скриншоте) влез в «уровне панд» к водопаду и боднул край. Вау! Потом я уже мог повторять это где угодно (при наличии воды), если провалюсь сквозь пол моей координатой высоты.
– Наличие «нематериальной копии мира», если плыть (!) долго-долго вверх, зажав квадрат, «вниз» и «вправо» или «влево», чтобы не покинуть уровень. Симптомы такие – сперва Спайро столкнулся со своей тенью, стремительно надвигающийся сверху. Потом вдруг быстро вспыхнули треугольные лучистые полигоны текстур. А ещё через столько же времени можно встретить копию мира. Если продолжать бурить, то всё будет повторяться, за исключением тени.
– Существование потайной пещеры на «Фабрике фейрверков» в скале. Да ещё с жизнью!
– Полёт на далёкий остров на Полуночной Горе, где тоже банки с жизнями. Да, должен был быть лифт рядом с колдуньей.
– Способ ПОЛУСМЕРТИ, в который я не поверил. Но проверил. Ва-аа-ау! Но только я не смог в Диноминах дойти до той двери в портал! Там надо под водой проплыть, а в полусмерти она нематериальна! А дно ещё и присасывает! Всем советую попробовать, словами не описать. Но я таки добрался до портала в «трубу» с лёгкой руки моей взломанной координаты высоты! Да, способ (по сути) рабочий.
– Созерцание прохода в Полуденном саду в зале с транспортом. Надо действительно смотреть издалека! Низкополигональные стены исчезают при приближении. Странно, я раньше замечал эту дверь, но всегда думал, что это просто текстура.
– И кажется, где-то ещё я тут прочитал про тайник с ещё одной жизнью. Но уже забыл. Странно, почему во всех таких тайниках лежит жизнь? Но хорошо, что производители не тыкнули туда бриллиант или яйцо, что было бы хуже.
– Также наличие кода на СКРЫТЫЙ фильмец про второго босса. Здорово!

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

Вот главные коды адресов, которые я ВСЕМ рекомендую. Сразу в моём/абсолютном/переведённом виде:
– Z координата (высота) , 4 байта: 9BC351 / 70331 / 80070331 (замораживайте и летите!)
– Жизнь Спаркса, 1 байт : 9BC5C8 / 705A8 / 800705A8 (заморозьте на «3». Если постепенно увеличивать по единичке, то можно добиться странных результатов!)
– Победа над колдуньей, самый главный код!! 1 байт : AAC44C / 16042C / 8016042C (Заморозьте на ноль! Можно даже с самого начала игры поставить, хуже не будет! Вдруг яица перестанут исчезать?)

Итак, результат. Если кто-то говорит, что не может победить колдунью, то знайте: он просто плохо старался! Кстати, за РЕКОРД (для соответствующей темы) считается? Я ведь первый её победил? А если не первый, то уж точно СВОИМ умом! До того, как набрал Spyro3 в Гугле.
Взломать Spyro2 с глюкопорталом у меня не вышло. Но я смог протиснуться туда потихонечку, развернув пассивную камеру в обратную сторону. «Волшебное болото»! Но там стоял профессор, при разговоре с которым тоже возникал глюк. Но уж тут ArtMoney бессильна.
А курицу из Солнечной Деревушки поймать физически невозможно. Если за «поймать» считается именно спасти её от толстого врага. К нему нельзя подкрасться тихо: ни спереди, ни сзади, ни сбоку, ни сверху, ни снизу – он убегает и не даёт стрельнуть огнём. А если (координатой!) зависнуть под полом и бить ВТОРОГО врага для спасения Мэра, то тот мужик с курицей просто исчезает. Но иногда курица оказывается живой после моего катания на скейтборде. Если бы стрелять издалека да чем-нибудь помощьнее… А нет в Spyro3 чит-кода на супероружие?
Надеюсь, своим длинным комментарием я никого не утомил. Так меня пробивает почти на каждом форуме, на котором я зарегистрируюсь. Было дело с одним, что-то вроде «зазеркалья» (но не так), а там всё кончилось для меня печально. Может, тут мне не укажут на выход?

… Мне показалось, что все глюки в игре – исключительно недоработки программистов, которые просто ЗАПАРИЛИСЬ делать эту игру! «Мы провели четыре прекрасных года, создавая её!» – сказано в титрах. Дык параноиком станешь за четыре года-то! Вот нервы под концом и сдали. А если кто думает, что одни пираты в этом виноваты (снова в рифму!), то, может быть, в этих местах код программы какой-то нестабильный. Яица (переменные) должны быть защищены, и только увеличиваться! А не отниматься. И ещё проблема Spyro3 – миры и уровни слишком сильно связаны друг с другом. Вот в Spyro2: при входе в уровень проверяется только – шары/камни/талисман В НЁМ и статус Спаркса. И всё! А в Spyro3 к этому добавляется – наличие главного яйца в ДРУГИХ уровнях (игры зверей), наличие свободного Хантера, факт избиения Кошелькова, и может ещё что-то… А про транспортное средство что и говорить – оно плодит если не половину, то четверть глюков точно! А наша задача – их отыскивать.

…Кстати, в ночь с 15-го по 16-е июня будет полное лунное затмение. Может, в мой Ташкент не придут тучи! И всем желаю ясной погоды. Это не в тему, но думаю, что мне можно, особенно после всего, что я рассказал. А луну, кстати, можно приурочить на вид из Fireworks Factory. А плавать с пираньями я научился давно. Кстати, это мой любимый уровень. Там такая захватывающая обстановка! И все вокруг поэты, включая Кошелькова. Я писал Хайку. Это относительно просто! Есть ли хоть один перевод Spyro3, в котором диалоги этого уровня переведены КОРРЕКТНО стихотворно, в стиле хокку? В моём переводе это не так. А в английском оригинале всё верно: 5 слогов в первой строчке, 7 во второй, и снова 5 в последней. И декламируют красиво. А русские пираты речь вырезали, не удосужившись вставить свою. Так что нам (дословно) шептала Зоя? И что коды лёгкой и сложной игры меняют?


but nobody came
 
aleksusklimСообщение # 2 | Тема: Секреты и глюки в Spyro 3 Среда, 15.06.2011, 21:03
Аватар aleksusklim
фдулыгылдшь
Редактор
«1066»
Где: Не в городе Драконов
Спасибо всем! Хорошо, сделаю скриншоты и ещё что-нибудь напишу. Хаул, приношу извинения если чем-то обидел. Нет, Форум лучше, чем я думал: секундная регистрация! Аве!
Портал Дино проверю...
СПАСИБО.
...Затмение не пропустите!

Добавлено (15.06.2011, 21:03)
---------------------------------------------
Вот, я «начикал» скриншотов. Вначале вот как выглядит первый экран выбора игры (обратите внимание на верхнюю надпись!):
http://i.piccy.info/i5/22/90/1629022/0000.jpg
OLEG778, да этот «парадоксальный» экран у меня с такими прыгающими буковками. Но музыка мне отнюдь не нравиться: громкая, зависает и эмулятор тормозит! (сейчас он не отображает эту заставку, но музыку во всю орёт, только лихорадочное нажатие «крест и старт» помогает игру-то запустить!)
Переводилось пиратами-энтузиастами? Так вот могли бы они приколоться и перевести стихами! Я бы переводил только так. И со знанием английского у меня очень хорошо, ведь я поэт-переводчик (стихотворно-эквиритмично перевожу современные английские песни, спасибо «зазеркалью»). Подождите, а что, если… Можно ли раздобыть декомпиллер или некий «распаковыватель», которым можно было бы вскрыть образ диска? Я ведь программист, создаю мини-игры (на GML, уже пару десятков создал), и примерно знаю, как оно делается. Даже Worms2 1998 на русский через Restorator сам перевёл (версия нестабильна, но отнюдь не по моей вине). Пираты ведь как-то перевели Spyro? А чем мы хуже? Greatest Hits, значит, перевода нет? Так давайте сделаем! Если сможем только модифицировать «дизайн» или «оболочку», то запросто заменим слова во всех разговорах и надписях, если будет доступ к «ресурсам», то ещё и все диалоги перевести можно, а если будет полный код, то можно даже попытаться исправить некоторые глюки, которые могут возникнуть от нашего вмешательства (запорим «таймер Sorceress» и босса можно будет победить). Кто-нибудь пытался создать пиратскую версию? И не думаю, что это сильно нарушит авторские права: игра уже старая, мы не будем её продавать, не перепишем на себя, да и к тому же если переведём хорошо, то об игре узнают больше людей, а это как реклама для производителей.

Вот мой глюк со зверьками первого мира:



Портал в Дино Минах я нашёл! MrModez, без скриншота не обнаружил бы никогда. Но там ведь не «просто арена»! Она же ШЕСТИУГОЛЬНАЯ! На это стоит посмотреть!! … Долго искал обратный портал, оказывается, он невидимый.

Serlutin, глюки, вызванные защитой от копирования, запрограммированы разработчиками, так? Ну я и сказал: разработчики виновны во всех глюках! А всё валят на пиратов… Понятно, пиратские=дурацкие , но без них 80% игроков никогда не узнали бы о Spyro.

Вот безтекстурный Спайро в борьбе с колдуньей (вызвано некорректным взломом памяти) :



Могу лишить Sorceress оружия (правда, пушки тоже исчезают…) :



… И я умею читать названия тем. Только «Город Драконов» ни о чём не говорит. А как отличить простых пользователей от тех, кто принимает участие в работе Форума (и на кого, теоретически, «катить бочку» может быть потенциально небезопасно)?
Жёлтая лягушка в кубике льда: «Domain Unregistred. To view, register at: bit.ly/imageshack-domain» – скажите, это действительно натыкано по всему объёму Форума, или ЭТО одному мне глаза мозолит?

Здесь Спайро разукрасило моё нерациональное вмешательство в память:



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



Скриншот АртМании:
http://i.piccy.info/i5/79/90/1629079/015.jpg

Надеюсь, не зря всё публикую, хоть кто-нибудь должен это попробовать сделать!
И выключайте уже компьютеры, скоро лунное затмение!!


but nobody came
 
aleksusklimСообщение # 3 | Тема: Секреты и глюки в Spyro 3 Четверг, 16.06.2011, 21:12
Аватар aleksusklim
фдулыгылдшь
Редактор
«1066»
Где: Не в городе Драконов
OLEG778, замечательно, что вам понравилось! Насчёт странной арены: я когда вылетел наружу и упал – срочно загрузился, вывалился ещё раз и спешно заморозил себе координату высоты!
Давайте искать декомпиллер для попытки перевода. Кстати, вот тут можно найти почти ВСЕ диалоги английской игры (за исключением «отказов» любой просьбы):
http://www.gamefaqs.com/console/psx/file/914114/52610

А ещё хочу спросить модераторов по поводу ссылок. Их можно вообще публиковать? Просто те скриншоты, которые я запрятал в спойлеры (?), остались нетронутыми. А два других поменялись на непрямые (через «go?http…») . Могу ли я сам ставить такие ссылки, или только модераторы могут так делать? И куда закачивать картинки? Кнопочки под полем для сообщения я не нашёл. Спешно отыскал «ИмейджХостинг» и залил всё туда. Там был вариант «Ссылка для форумов», где выдавалась маленькая картинка-ссылка на страницу (!), где был мой скриншот+реклама; и вариант – «Прямая ссылка», которым я и воспользовался. В «Правилах» того сайта сказано: «…не злоупотребляйте прямыми ссылками…». Однако, если в случае «Ссылка для форумов» используется прямая (!) ссылка на мини-версию изображения, то какая разница, ссылка же всё равно есть? К чему я веду? Просто не нарушил ли я правила Форума, когда так сделал? Или посоветуйте, куда закидывать используемые картинки.

Эх, лунное затмение затмили грозовые тучи, пришедшие за час до него! В Ташкенте абсолютно ничего не было видно… Надеюсь, у других впечатление лучше!

Спайро в гостях у Шейлы? Это надо выяснить! Поможет взлом координаты высоты. А ещё можно попробовать воздухоплаванье взломать. Или заставить разговор в комнатке оборваться, подчинив управлению дракончика. Или просто исследовать мир кенгуру с высоты. А те, кто ищет глюки в стенах и полу, исследуют ли все игры-порталы (ведь они существуют отдельно от уровня)?
…Думаю, что нематериальная копия мира – это издержки движка, на котором написана игра. То есть, неустранимый побочный эффект. Ведь не на ассемблере же её, в самом деле, создавали! А на чём же?
Да, и объясните теперь секретный портал в Бамбуковой Террасе?


but nobody came
 
aleksusklimСообщение # 4 | Тема: Секреты и глюки в Spyro 3 Понедельник, 20.06.2011, 09:13
Аватар aleksusklim
фдулыгылдшь
Редактор
«1066»
Где: Не в городе Драконов
Ура! У меня хорошие новости, подкреплённые двадцатью скриншотами! Сперва расскажу, что я получил, когда хотел взломать факт нахождения дракона в воде. Итог: воздухоплавание не удалось покорить. Зато есть три прикольных адреса. Первый: «009BA3BE» (1 байт). Если Спайро под водой, то он равен единице по умолчанию. Оказывается, воздушный пузырь вокруг Спаркса во-первых не является 3D-объектом, а просто накладывается на его проекцию из вида камеры, и во-вторых НАДУВАЕТСЯ при входе Спайро в воду ИЛИ при уходе и возвращении стрекозы из видимости. Так вот, если байт 009BA3BE обнулить (без заморозки!), то надуется ещё один пузырь. Горячей клавишей на обнуление можно созерцать всё больше и больше пузырей! Если заморозить на единице, то пузырь вообще не надуется (стрекоза будет и так плавать, видимо умеет задерживать дыхание не хуже дракончика!). Доказательство:

http://i.piccy.info/i5/53/79/1637953/Bubble.jpg
В центре основной рисунок – «передутый» пузырь при плавании на Вечернем Озере. Внизу – нарезка кадров хронологии надувания этого пузыря. В углу – если запретить пузырю надуваться.

Дальше прикольнее! 1 байт «009BA064». Его значение изменчиво, лучше не замораживать, а только устанавливать. Если поставить 255 в любой момент игры (абсолютно в любой, кроме заставок или переходов), то игровая КАМЕРА перестанет следовать за игроком. При этом она останется актуальна: управление полностью в координатах камеры, если уйти очень далеко, она восстановится. Фактически это позволяет «оставить» где-нибудь камеру и идти дальше, разглядывая себя издалека. Как же дракончик мал, по сравнению со всем его миром! Если нужно вернуть камеру, то можно просто сбросить байт 009BA064 в ноль. Проще всего делать это горячими клавишами. Но ещё не всё! Один байт «009BA0B1». Если уменьшать его значение (а оно и так мало), то камера приблизится, но только если 009BA064=255 (камера остановлена). Когда же значение 009BA0B1 перевалит за ноль и станет около 250 (…5-4-3-2-1-0-255-254-253…), то замороженная камера отлетит очень далеко по своей текущей оси! Причём стрекозка будет пролетать огромное расстояние, чтобы «поглядеть в экран». Выглядит это так:

Я заморозил и отодвинул камеру. Спайро стоит на правом мосту, я указал его позицию, ибо рассмотреть очень трудно.
http://i.piccy.info/i5/62/79/1637962/Cam_1.jpg
А тут я «координатой» взлетел на эту же башню Полуночной Горы и оставив камеру, направился к жилищу Агента9. (Интересно, что если приземлиться туда, то Спайро совсем исчезнет с виду, но тень продолжит бегать по земле)
http://i.piccy.info/i5/66/79/1637966/Cam_2.jpg

И я спокойно погулял у Шейлы в мире! Но сперва мой глюк (заводской, я тут не причём) с русскими шрифтами в её уровне:

Нормально:
http://i.piccy.info/i5/73/79/1637973/Letter_1.jpg
Через миг:
http://i.piccy.info/i5/78/79/1637978/Letter_2.jpg

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

Вот меня увидал бык:
http://i.piccy.info/i5/81/79/1637981/Sheila_1.jpg
Вскарабкался на холм. Спаркс почему-то иногда немного «проглючивает» (примерно раз в секунду):
http://i.piccy.info/i5/82/79/1637982/Sheila_2.jpg
Зоя с радостью поболтает со мной (буквы только в этом уровне такие!) :
http://i.piccy.info/i5/86/79/1637986/Sheila_3.jpg
И даже козлы приняли меня за кенгуру:
http://i.piccy.info/i5/90/79/1637990/Sheila_4.jpg
И готовы отдавать мне яица:
http://i.piccy.info/i5/96/79/1637996/Sheila_5.jpg
Мир полностью работоспособен, камни ломаются от пламени, рогов или ударов:
http://i.piccy.info/i5/99/79/1637999/Sheila_6.jpg
http://i.piccy.info/i5/02/80/1638002/Sheila_7.jpg

Глюки: Странный Спаркс, «тихая» травка (бег по ней беззвучен) и убийственная вода – если попытаться плавать, игра сообщает об ошибке и закрывается.

Начитавшись про Базза-Спайка я попробовал вызвать подобный глюк. Не вышло. Однако, я получил интересные результаты безтекстурных моделей, лучше, чем у Колдуньи:

Окрас под металл:
http://i.piccy.info/i5/04/80/1638004/Scorch_1.jpg
Вид спереди:
http://i.piccy.info/i5/06/80/1638006/Scorch_2.jpg
Сбоку, в движении:
http://i.piccy.info/i5/12/80/1638012/Scorch_3.jpg
От разорвавшейся бомбы:
http://i.piccy.info/i5/24/80/1638024/Scorch_4.jpg
Это Базз:
http://i.piccy.info/i5/28/80/1638028/Scorch_5.jpg
Это Бентли:
http://i.piccy.info/i5/30/80/1638030/Scorch_6.jpg
Сам Скорч:
http://i.piccy.info/i5/38/80/1638038/Scorch_7.jpg
И сцена сверху (с замороженной отодвинутой камерой):
http://i.piccy.info/i5/43/80/1638043/Scorch_8.jpg

Ещё обнаружил странное поведение игры, если ввести пароль. Нажмите паузу, затем: ВВЕРХ – вниз – ВВЕРХ – вниз – ВЛЕВО – вправо – ВЛЕВО – вправо – КВАДРАТ – круг. Теперь нажатие ЛЮБОЙ клавиши (кроме start-select) вызывает странный экран и зависание игры. Нажатие же кнопки КРУГ даёт звук подтверждения кода и «отпускает» с миром. Что это?

Добавлено (20.06.2011, 09:13)
---------------------------------------------
Что-то мне никто не ответил… Ребята, у меня теперь есть очень важная информация!

Quote (Serlutin)
На счёт перевода. Дело в том, что просто так ресурсы не извлечь. Тут нужно найти программиста, который сможет понять устройство архива и написать программку, которая могла бы и нормально распаковать и, что более важно, запаковать.


Так «аз есм он»! Да! Я сам! Я понял структуру!! Я написал программку!!! Честно!!!!
…Перерыл весь интернет, но там никак нету ничего для распаковки WAD – файла. Но на одном форуме нашёл описание АЛГОРИТМА для изъятия содержимого. Но программу по нему не удосужились сделать. Но я ведь программист! Проверил суть и нацарапал быстренько скриптик на GML. Он такой незатейливый, легко можно переделать под любой другой язык, если Game-Maker кого-то не устраивает.
Не буду описывать процесс создания, лучше сразу дам результат на всеобщее растерзание!
Итак, на МОЁМ диске следующие файлы: «DATA.TXT, «PSX.EXE», «SPYRO1.EXE», «SPYRO2.EXE», «SPYRO3.EXE», «WAD1.WAD», «WAD2.WAD», «WAD3.WAD». Самый главный, «инициализатор» – PSX.EXE (Лузерское меню). Он читает ТЕКСТОВЫЕ данные из DATA.TXT (где указаны имена остальных файлов) и передаёт управление соответствующему SPYRO#.EXE, который исполняется и тащит ресурсы из своего WAD. Причём SPYRO3.EXE – самый необычный по сравнению с другими двумя. В нём нет открытого текста. В нём заставка Paradox. Он не наибольший из них.

Файлы WAD – содержимое игры. Значит, нас интересует WAD3.WAD. Это как бы архив, в заголовке (шапке) список нахождения (типа таблицы размещения файлов), а по всему объёму – файлики разбросаны! Читать его так:
Первые 4 байта – адрес первого суб-файла в этом файле.
Следующие 4 байта – количество байт (размер) первого суб-файла.
Следующие 4 байта – адрес ВТОРОГО суб-файла.
Ещё 4 байта – его размер…
Итак пока не встретиться байт от первого суб-файла, то есть, заголовок закончен.

Вот мой полностью работоспособный код для Game-Maker (компилировать в EXE и выкладывать пока не стал, ведь ещё нужно запаковщик написать) :



Теперь, у кого есть и Game-Maker (я делал на 8.0 Pro, но думаю, что 7.0 Lite тоже подойдет…) и диск или образ Spyro3, желательно «Greatest Hits» – скопируйте код, откомпилируйте и распакуйте свой WAD. Нужно сопоставить некоторые данные.
Теперь о работе моей программы. Она распакует файл в кучу файликов без расширения (Файл_001, Файл_002…) согласно первой части WAD. Это можно проверить, вооружившись ArtMoney (настроив на работу с файлами) и WinHex для верификации двоичных данных между файлами. Сейчас объясню:
http://i.piccy.info/i5/69/57/1645769/hex1.png
Это скриншот Артмании на начальном нулевом адресе WAD3.WAD. Таблица в восемь столбцов. Первый – координаты сдвига очередного субфайла. Пятый – его размер (тоже шестнадцатеричный!) Остальные столбики НЕ существуют, так как оба числа четырёхбайтовые и это – межбайтовая информация которая не означает ничего а висит хвостом от остальных значений. Ну так вот… СТРОКИ – это субфайлики по порядку. То есть ячейка 00000000=800 (это адрес первого субфайла), 00000005 = 22800 (141312 в десятичной – размер первого субфайла, именно такой размер в байтах ДОЛЖЕН и БУДЕТ иметь «Файл_001», распакованный моей программой!), 00000008 = 23000 (адрес второго субфайла, причём больше, чем «предыдущий + размер предыдущего»), 0000000С = D800 (размер второго, и.т.д.)
Обратите внимание на ячейку 0000003С, помеченную коричневым треугольником. Там 0! То есть, субфайл нулевого размера! И адрес его дублируется. Зачем? Вот и мне интересно. Думаю, что поскольку все субфайлы НЕ снабжены именами, то роль играет только их ПОСЛЕДОВАТЕЛЬНОСТЬ . Значит, игра делает порядковый отсчёт. А если пираты вырезают музыку, то должны вставить вместо неё нулевой файл, чтобы не сбить порядковые номера остальных субфайлов.
Так вот, проверка правильности моей программы. Возьмём адрес девятого файла из первого столбца строки №9. Ячейка 00000040 (40h в десятичной будет 64, делим на восемь (по 8 ячеек для описания) = 8, отнимаем единицу (первая запись имеет нулевой адрес) = 9 – как раз номер нашего файлика!). Открываю WAD3.WAD шестнадцатеричным или двоичным редактором (WinHex). Задаю «идти на адрес» (offset) 0010D800 (значение интересующей ячейки 00000040). Вижу такую картинку (чуть-чуть вернулся вверх, на полстраницы):
http://i.piccy.info/i5/71/57/1645771/hex2.png
Верно. Это действительно НАЧАЛО субфайла, поскольку выше до него идут одни нули. Открываю во втором окне редактора «Файл_009», который извлёк мой скрипт:
http://i.piccy.info/i5/72/57/1645772/hex3.png
Ура! Данные идентичны!! Ещё можно сравнить размер файла с ожидаемым, но он тоже верен! Итак, Я ПРИЗЫВАЮ ВСЕХ, КТО ХОЧЕТ ПЕРЕВОДИТЬ, использовать мой код для распаковки архива! (Конечно, если кто-то не будет любезен и не предложит что-нибудь получше).

Конечно, важно ещё и запаковать обратно. Но я не смогу узнать, получилось ли у меня… Сейчас объясню.
Диск Spyro3в1 я скопировал через Alcohol. Снял образ MDS/MDF со всеми прибамбасами: тип данных – PlayStation, читать весь субканал, улучшенное сканирование секторов, измерение позиционирования данных… В итоге, получился образ 1:1 как оригинал! И эмулятор его запросто открывает как ОБРАЗ или же, как ДИСК, если эмулировать через тот же Alcohol. Однако…
Если скопировать оттуда (из эмулирующегося образа) все файлы, то – работать не будет. Если записать эти файлы на диск или другой образ – то… Лузерское меню работает! Но только оно… Я пытался и субканальные данные оригинала перенести на копируемый образ, и менять очерёдность файлов… Тщетно. ДАЖЕ если делать «Run PS-EXE» в Epsxe, и указать на чёткий образ (или даже на оригинальный диск), то. Из всех четырёх EXE запускается только SPYRO3.EXE и показывает Paradox (вот тут не зависая, без глюков), но игру не грузит. Причём само меню PSX.EXE не пашет. А при копировании и создании образа – наоборот, работает только оно, как я уже сказал. Так что тупик! Я не могу заставить игру прочитать собственный WAD, как же я проверю свой?
Дайте советы, если кто знает, как решить проблему. Я уже всё перепробовал, и диск прожигал, и формат образа менял и специальную программу для PS2-прожига скачал…

А ведь сделать перевод игры – ФИГНЯ!!! Вот, что я нарыл в WAD3.WAD (и следовательно, в распакованных файлах ОНО тоже есть):
http://i.piccy.info/i5/73/57/1645773/text1.png
Это разговоры! И их там полно, просто надо уметь искать. В интернете я узнал, что нелегалы-переводчики называются Ромхакеры, и чтобы сделать перевод, они сопоставляют русские буквы английским буквам, пишут все фразы согласно этой «таблице сопоставления», а потом перерисовывают (!) все шрифты в игре.
А вот, что ХОТЕЛА сказать нам Зоя!!!!! :
http://i.piccy.info/i5/74/57/1645774/text2.png
Для тех, кто не смог разобраться в сопоставлении, «расшифровываю»:
=======
зоя: извини, спиро, но похоже ты играешь в хакнутую версию этой игры. или это нелегальная копия из россии. или эта игра была изменена, причём там же. покупай лицензию спиро, иначе будет очень плохо, причём тебе.
=======
Звучит угрожающе! Странно, что сами хакеры оставили этот текст, да ещё и перевели его!
Итак, я серьёзно настроен на перевод игры. И призываю всех к этому. Надо бы новую тему на форуме открыть. Давайте, люди, у нас получиться! Можно разыскать хакеров, которые уже перевели игру, и расспросить их обо всём. Хакеры – они добрые (по себе сужу!).


but nobody came
 
aleksusklimСообщение # 5 | Тема: Перевод Spyro 3: Взлом и программы Воскресенье, 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
 
aleksusklimСообщение # 6 | Тема: Секреты и глюки в Spyro 3 Понедельник, 27.06.2011, 00:16
Аватар aleksusklim
фдулыгылдшь
Редактор
«1066»
Где: Не в городе Драконов
Отлично, есть ещё кое-что. Но сперва по теме. Спайро может не только находиться в мире Шейлы, но и в любом другом «чужом» портале. И даже в мини-играх любого уровня! Причём некоторые вполне возможно пройти и методами дракона, однако координата высоты всё равно пригодиться. Я даже умудрился пройти портал Агента9, паря над полом, когда Профессор попросил не сходить с платформы! Однако, думаю что этим уже никого не удивить. Способны ли как раз наоборот эти друзья быть на драконьих просторах? У меня, например, ничего не вышло. Но стоит над этим ещё поработать.
И есть мысль по поводу ВСЕХ глюков. Думаю, что имею два метода борьбы с ними. Первый, ненадёжный: Если правильно последовательно проходить игру и зайти в Берег Ракушек, то мини-игра кенгуру обязательно отнимет главное яйцо самой Шейлы. Однако, если сходить отвоевать его и вернуться, то оно больше не пропадёт. Вот этот момент можно взломать средствами ArtMoney. Второй, слишком привлекательный: Скорее всего, игра проверяет свою подлинность, сравнивая CRC, только после запуска, а не во время прохождения. Значит, по моему мнению, защита ведёт себя так. Сначала проверяет сумму CRC, потом записывает её результат как true/false в некую переменную, а потом предлагает нам играть. А когда система захочет начать плодить глюки, то она читает значение этого главного байта, а не заново снова и снова считает CRC! Таким образом, если сравнивать дампы памяти одной и той же игры до и после «модифицирования» (которое нужно устроить самим), то можно обнаружить эту ячейку, мать всех глюков. А если так, то… Paradox ведь как-то смогли взломать ячейку жизни и бриллиантов? Где-то в SPYRO3.EXE есть её адресок. Можно покопаться, найти и заменить на «отца глюков», тогда Paradox и сам без АртМании будет следить за его неизменностью! Это полный крах системы защиты и наш хакерский триумф! Как думаете, возможно ли такое?
А вот теперь самое интересное скажу! Моя программа распаковки-запаковки почти идеальна, подводит только скорость её работы, мегабайт в минуту (или два). А при запаковки полторы сотни это играет не последнюю роль! Я тут хотел было написать «склеивальщик» файлов на паскале, но он что-то не компилируется правильно, пишет, мол, «file no found» – это на Турбо паскале (я бы навал его иначе – Тормоз паскаль!). Но PascalABC обрабатывает чётко, однако, к сожалению, не компилирует в EXE. Вот код, который я смог составить, скорее всего, он понадобиться для ускорения работы моего WAD-архиватора, работу над которым я закончу как раз к следующему моему комментарию, и опубликую готовый код и может быть, саму готовую программу.

И вот самая-самая моя гениальность! Взгляните на скриншот:
http://i.piccy.info/i5/30/78/1667830/Game.jpg
И это не монтаж!!! Я взломал WAD3.WAD и смог запустить игру с ПОДСТАВНЫМ файлом!! Сейчас подробно расскажу, как. WinHex может «открывать» не только файлы или оперативную память, но и диски. Там есть команда, типа, открыть диск. Так вот, если открыть мой Spyro3в1 через WinHex, то там указана не только последовательность файлов, но и ПРОМЕЖУТКИ между ними. А значит, их можно воссоздать. Есть такая программа, о которой я уже упоминал ранее, CdGenPS2. Я скачал её по этой ссылке:
http://psxdev.narod.ru/download/CDGENPS2_3.0.zip
Итак, если перенести и последовательность и первые сектора (LBA) всех «интересующих» нас файлов (и всё, что до них), то можно получить примерно следующий скриншот:
http://i.piccy.info/i5/66/78/1667866/Hex1.png
Разумеется, WAD3.WAD уже хакнутый. Но пока не моим чудо-архиватором… Я просто немного отредактировал его тем же WinHex, не меняя длину строчек:
http://i.piccy.info/i5/70/78/1667870/Hex2.png
Конечно, когда мой архиватор будет закончен, то и длину строк мы сможем изменить. Возвращусь к общей теме… Так расскажите же, наконец, что такое прокси-прыжок, где секретный портал Бамбуковой Террассы и как дважды подпрыгнуть в Spyro2? Я знаю только один метод самого-самого длинного прыжка. Встать подальше от края (за 3-5 диаметров дракона), нажать квадрат. Перед самым концом земли, не отпуская квадрат, зажать крест. В наивысшей точке взлёта (примерно через полсекунды), отпустить всё, нажав «вперёд» и крест ещё раз. Отпустить всё и рулить к месту приземления. Перед самым началом «посадочной полосы» (обычно, утёса какого-нибудь!), нажать «вперёд» и треугольник. А если там враг, то либо круг немного раньше, либо ещё один треугольник немного позже. Всё, другими прыжками длиннее этого я не владею!
Ещё, решил в свою подпись засунуть анекдот. А по жизни тот ещё юморист, поэтому долго думать не пришлось. Видал я тут ещё у кого-то прикол в подписи, но что-то сейчас найти не могу. Вот мой анекдот, русская версия (хотя английская, как мне кажется, звучит лучше):
===============
[280/5] :
— Берегись, Спаркс! — Закричала Зоя, — Там один Носорог позади тебя!
— Что!? ТРАДАДАТАТАТА…
— Эй! Тише, малыш… Бонусные бабочки теперь не часто встречаются здесь. Притормози!
— …ТАДАДАТАТА… Зачем? У меня ведь всё ещё есть два снаряда… ну в смысле… два десятка, разумеется!
— Неужели!? Но сколько ж их было пять секунд назад?
— Почти три… сотни…
===============

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

Добавлено (27.06.2011, 00:16)
---------------------------------------------
Ну вот, отлично! Теперь, я так понял, мне нужно направить всех в тему:
http://www.spyro-realms.com/forum/11-11180-1
И направиться туда самому! Ладно, но вопрос о глюках, порталах и прыжках остаётся открытым!


but nobody came
 
aleksusklimСообщение # 7 | Тема: Перевод Spyro 3: Взлом и программы Понедельник, 27.06.2011, 00:22
Аватар aleksusklim
фдулыгылдшь
Редактор
«1066»
Где: Не в городе Драконов
Итак, в этой теме я собираюсь обсуждать методы перевода и модификации содержимого файла WAD3.WAD. Мне нужно знать, сколько и какие фалы на образе Greatest Hits. Так что это должен сказать любой, у кого образ в наличии. Мой файл распаковывается на 195 субфайлов. Причём многие из них по структуре НАПОМИНАЮТ тоже «wad». Однако, при их распаковке возникают ошибки (конечно, все 195 я не пытался распаковать!). Ладно, дабы проверить мой распаковщик, я модифицировал файл №70 (изменил текст надписи) и попробовал запаковать обратно. К сожалению, это отняло очень – очень много времени… Если так будет при каждом тестовом упаковывании… Но я дождался конца. И, чёрт возьми!!! Игра ПРИНЯЛА файл, который был не просто модифицирован, а пропущен по кирпичикам через мой разархиватор!! Значит, ещё одной преграды на пути нет! Вот ссылка на архивчик WAD-распаковщика («1паковщик/Xtractor»). Он на моём сайте, который я создал только сегодня и он (сайт) пока не будет мной заполняться или раскручиваться, я буду сливать туда то, что нам может пригодиться. Итак, ссылка:
Spyro WAD распаковщик
В архиве лежит:
– WAD.exe : исполняемый файл программы. Я хочу предупредить… Мой компьютер полностью вдоль и поперёк съеден вирусами, но ни один из них не заражает программы, созданные на Game-Maker. И я уверен в их безопасности. Но всё же, на всякий случай, проверьте файл антивирусом. Он чист, но я перестраховываюсь…
– WAD.gmk : файл проекта Game-Maker. Если вы его откроете в нём, то сможете сами получить предыдущий файл. Можете вносить изменения в код, если сочтёте нужным, на авторские права программы я не претендую.
– WAD.txt : код программы, выданный самим GML. Для тех, кто не может открыть gmk, но хочет увидеть код.
– WAD.doc : краткая инструкция, написанная мной. Больше в архиве ничего нет, размер архива – 1Мб.

Кто знает С++? Или Delphi или C# ? Нужно переделать мой код, чтобы нормально и быстро работал. Тут, кажется, даже CONCATENATOR не поможет… (всё, что я задумывал для него в коде отсечено /*…*/). Только вот мой GML стал гораздо «мусорнее» и разобраться в нём теперь уже и мне самому трудновато… Я запарился его делать, даже не уверен в надёжности. Но если не удалять файлы, которые он обрабатывает, то результат должен быть.

В общем, собирайтесь, господа переводчики, хакеры и программисты! Скоро делом займёмся…


but nobody came
 
aleksusklimСообщение # 8 | Тема: Перевод Spyro 3: Взлом и программы Четверг, 30.06.2011, 01:22
Аватар aleksusklim
фдулыгылдшь
Редактор
«1066»
Где: Не в городе Драконов
Ну что, готовы начать? Наша цель перевода игры делится на две стороны – лингвистическую и техническую. Первым вопросом займутся переводчики, а вторым – хакеры и программисты. Я же буду возглавлять операцию (конечно, если все будут согласны, и никто не предложит кандидатуру лучше!)
Но сначала я ввиду некоторую ясность, кто же мы есть:
– Переводчики. Переводчиком будет считаться любой, кто добросовестно изучал или изучает английский язык в школе. Любой, кто хоть раз интересовался тем или иным переводом фраз в фильмах, песнях, мультиках или книгах. Тот, кто, наткнувшись на иностранный текст в игре, программе или на сайте, смог понять в нём если не всё, то хотя бы о чём идёт речь. Это минимум, но профессионализм приветствуется!
– Хакеры. Хакером считается любой, кто хоть раз экспериментировал с разными файлами на компьютере. Любой, кто может сбросить в реестре 30-дневный пробный срок игры или программы. Тот, кто понимает методы работы программ и вирусов, их типы, возможности и свойства. Хакеры – любители, но «профессионализм» уважается, как сброс паролей администратора, взлом сайтов и обманы игр.
– Программисты. Программистом считаем любого, кто хоть раз писал программный код любой сложности любому исполнителю любого назначения, от синклера1990 или ассемблера до триггеровВарКравт при создании карт. Кто может нарисовать только блок-схему алгоритма тоже подходит! Разумеется, знание современных языков программирования обязательно пригодиться!

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

Я стал интересоваться файлами, входящими в состав WAD3.WAD. Так как их 195, интересоваться есть чем! Но файл номер 46 оказался чуть страннее других. Потому что он весит почти ровно 1Мб и следует после трёх нулевых файлов подряд. Скриншот из WinHex:
http://i.piccy.info/i5/94/35/1683594/Code1.png
В левом нижнем углу вырез из окна Проводника с этими файлами. Но вопрос в другом – что в файле? Похоже на графическое изображение буквы, если смотреть на поле с текстовым представлением. Прокрутив файл ещё немного, я видел похожую (но разную) картинку, вот нарезка:
http://i.piccy.info/i5/01/36/1683601/Code2.png
И я задавался банальным вопросом: «а чё это за фигня!?». Напоминает структуру wad, файлы, раздёлённые нулями. Нужно было засунуть ЭТО в графический файл и посмотреть на общую картину…

Однако нет программы (или я плохо искал), которая может открыть абсолютно любой поток данных как графику. Зачит надо создать! Так я и сделал. На паскале, ведь Game-Maker туго обрабатывает попиксельную графику, он заточен на спрайты и тайлы. Паскаль – только PascalABC. Ну я и начал… Это получилась лучшая программа, из всех, что я создавал на PascalABC! Самая длинная, самая удобная и самая полезная! (правда, на паскале я не так много писал, всё больше на GML). Она может преобразовывать любой файл в графику (если графика в файле как bmp, без сжатия), согласно выбранному методу чтения, а их у меня целых 18 (но нужно ещё десяточек добавить…) и разукрашивает холст. Сначала, она была консольная и однопотоковая, но я подключил библиотеку визуальных компонентов VCL, воспользовался конструктором форм и вуаля – готов интерфейс:
http://i.piccy.info/i5/43/37/1683743/Code3.png
Именно с такими настройками я загрузил Файл_046. По 16 пикселей в столбик: жутко интересно узнать, что же там такое…
http://i.piccy.info/i5/54/38/1683854/Code4.png
Режим псевдоцветный. Если приблизить левую часть, то как раз и видно наши загадочные «символы», которые никакие не символы. Они непонятно что! Но вот что заметно: они расположены друг под другом на строго определенном промежутке! А если верить WinHex, то промежуток от начала одной структуры до начала следующей всегда ровно 1024 байта. Может, настройки моей программы должны быть такими:
http://i.piccy.info/i5/35/37/1683735/Code5.png
На этот раз просто серый 256 цветов, 1 байт на пиксель, но ширина изображения будет выстраиваться в 1024 пикселя. Признаюсь, такого ошеломительного результата я сам не ждал:
http://i.piccy.info/i5/32/38/1683832/Code6.png
Эти загадочные штуки оказались «скальпом» тайловой нарезки крутящихся бриллианта и яйца игры в меню паузы! Но самый интересный участок я увеличил и наложил на чёрную область внизу, обведя кистью: ШРИФТ!!!!! Именно тут нам нужно заменить отображение английских букв на русские!!!!! По всему остальному файлу беспорядочно разбросаны текстуры и двоичные нераспознанные данные, но есть пара интересных моментов. Жаль, то всё в чёрно-белом. Но можно попробовать закинуть весь Файл_046 в один 256-цветный bitmap 1024*1024 пикселя… Я сделал это очень аккуратно, через WinHex, не повредя таблицу цветности сохранённого чёрного (но с белыми пикселями по углам, чтобы легче найти начало файла) документа paint; если вы хакер, то поймёте, каким образом это удалось:
http://klimaleksus.narod2.ru/Files/Code7.png (626 Кб)
Это есть весь файл, в оригинале. Только пришлось отразить его по вертикали, так как в bmp картинка храниться вверх ногами. Но увы: цветность не совпадает! Кодировка Paint не совместима с кодировкой Spyro! Однако результат есть, нужно придумать, как можно менять буквы, но так, чтобы они остались читаемы для игры. Возможно, в других файлах архива тоже есть шрифты.

Код моей _второй_ (первая WAD - распаковщик) чудо-программы – преобразователя графики, который нам ещё может много раз пригодиться, я конечно публикую. Но не на Форум – уж слишком код длинный. Вот ссылка на оригинальный PAS файл (это текстовый документ, можно открыть прямо в браузере):
http://klimaleksus.narod2.ru/Files/PICTURE_viewer_v1.1.pas
Для запуска необходим PascalABC, скомпилировать в EXE совершенно невозможно! Ещё, моя форма иногда самопроизвольно исчезает… Но не совсем: она просто сворачивается в панель задач, надо просто кликнуть на неё снова, это не моя вина – такой паскаль. А вот ещё и ссылки на многие полезные программы, включая сам PascalABC. На счёт вирусов – я даю 100% гарантию, что их там нет! Я очень и очень осторожно перетаскивал файлы из архива в архив с изменённым расширением, так что у вируса не было ни единого шанса что-либо заразить! Всё работает без установки, плюс я удалил всё лишнее, кроме содержимого архива PascalABC.zip – это самый оригинал. В архиве с AryMoney есть также два файла – найденные мной таблицы значений Spyro2 и Spyro3.

АртМания (1 Мб): http://klimaleksus.narod2.ru/Files/ArtMoney.rar
Паскаль (3,5 Мб): http://klimaleksus.narod2.ru/Files/PABCDistr.zip
Создатель образов (40 Кб): http://klimaleksus.narod2.ru/Files/CdGenPS2.rar
Game-Maker (4,5 Мб): http://klimaleksus.narod2.ru/Files/GML.rar

P.S. А вот, что я выдернул из Файл_089, в соседних также подобная нарезка:
http://i.piccy.info/i5/67/39/1683967/Code8.png
Сценочку узнаёте?
Файл_007 может порадовать самым-самым начальным экраном игры:
http://klimaleksus.narod2.ru/Files/Code9.png (376 Кб)
В тайлах есть и рамка карты памяти и логотип Insomniac, иконки и стрелочки, но самое грустное – ещё один комплект шрифта, но в такой же позе. Нужно найти их все! Цветной логотип внизу в чёрной (?) области – это вырез скриншота из самой игры для сравнения, не имеет отношения к остальному файлу. Посмотрите на загадочную фигуру в верхнем левом углу. Ничего не напоминает?


but nobody came
 
aleksusklimСообщение # 9 | Тема: Перевод Spyro 3: Взлом и программы Понедельник, 04.07.2011, 01:29
Аватар aleksusklim
фдулыгылдшь
Редактор
«1066»
Где: Не в городе Драконов
Пре-Скриптум: Молодцы какие! Многие же откликнулись!! Спасибо!

Вот, я занялся продолжением взлома ресурсов игры! Теперь моя цель – текст! Нужно безболезненно извлекать любые фразы из распакованных файлов, менять текст и вставлять его обратно. Это можно делать и средствами WinHex, но так очень трудно и неудобно. Я решил создать _третью_ мою супер-гениальную программу, чтобы извлекала текст. Попробовал на паскале – были странные неожиданные результаты. Тогда я вновь взялся за GML. Готово! Она работает!! «Текст-О-Вытаскиватель»! Только четь менее «автоматически», чем мой «WAD – 1паковщик»: следует указать большое число настроек и WinHex держать на мушке, чтобы контролировать результат. Смысл проги в том, что она ищет по файлу некие «разделители» – нулевые байты (хотя мне встречались не только 00, но и 04, 06, 08 и даже 84h [132 в десятичной]), которые служат «местами разрыва» и «тестовые» байты, которые имеют свою символьную кодировку. Программа режет исходный файл на множество текстовых документов и двоичных файлов таким образом, чтобы текст легко было изменить, не испортив прочую информацию. Запаковка просто производит прямое последовательное слияние результата воедино (причём если не менять текст, то полученный файл будет идентичен исходному!) Чтобы не натыкаться на лже-текст, типа «5,B-PGPG6!!!!47_@..)», лучше указывать диапазон поиска. Таким методом легко сменить любую фразу в игре! Если запаковать WAD с подставными отредактированными «Текст-О-Вытаскивателем» субфайлами, то игра по идее должна принять результат. Но…
…Эмулятор зависает. Я потратил много часов, чтобы понять, почему это происходит. Оказывается, когда я изменяю длину строки в одном из основных субфайлов, то все ресурсы в нём сдвигаются. Помните, что я говорил, будто многие субфайлы похожи на WAD? А ведь это так. Но в каждом из таких (и Файл_110 – мир Шейлы) начиная с offset A0h (160 в десятичной), идёт немного странной байтовой информации. Через каждые три байта следует ноль. Это не адреса вложенных субфайлов… Я попытался вырезать их и распаковать моим WAD – 1паковщиком, и это получилось. Файл разбился на ещё более мелкие файлы, первый из которых – таблица текстур.
Это в мире Шейлы, где мои русские буквы отображаются ломаным транслитом – таблицей соответствия (об этом я писал ранее в теме о глюках, помните?). И вот так выглядят текстуры:
http://i.piccy.info/i5/39/86/1698639/Textures_110.png
Заметьте: шрифт состоит только из английских букв. Пираты-переводчики забыли их поменять на русские! Оказывается, ШРИФТ, как и многие другие ресурсы, лежит в КАЖДОМ уровне, вместо того, чтобы быть единожды в WAD. Это как веб-страницы: на сервере одна картинка храниться один раз, в папке \images, хоть и используется на многих страницах, где есть ссылка на неё. Но если сохранить каждую такую страницу в MHT, то копия этой картинки будет повторяться в каждом сохранённом документе и ссылки не понадобятся. Технологи Spyro решили устроить всё таким образом, чтобы каждый уровень игры был самодостаточен и не нуждался в подгрузке дополнительных ресурсов. Может быть (не уверен, но вдруг), игра способна обходить ошибки, которые от «царапин» могут произойти в ресурсах, и загружать похожие ресурсы из других уровней. Это могло бы объяснить перемешивание текстур, когда я взламывал память через ArtMoney.
…Но продолжу. Чтобы запаковать разбитый субфайл обратно, я снова воспользовался моей программой. Странные байты со 160-го адреса я просто скопировал в заново полученный файл. И потратил ещё тройку часиков, чтобы всё снова собрать в единый WAD. И он не работал!!! Слетало, как только я заходил в уровень (но буквы успели «транслитероваться», значит, первый суб-суб-файл с текстурами начал грузиться)… Я попробовал «странные байты 160» скопировать из одного уровня в другой. И это привело к ошибке. Сейчас наша общая задача – понять, зачем они нужны, как ими пользоваться и как они должны зависеть от содержимого!

Нам ведь нужно, грубо говоря, сделать три вещи:
1) Заменить весь текст на его перевод.
2) Заменить отображение шрифта английских букв на русские.
3) Заменить звуки английских диалогов на собственные, русские.
И так для каждого уровня. Но пока думать о третьем пункте, я считаю, рановато. Надо заняться графикой. Как видно из предыдущего моего сообщения, мне удалось вытащить тайловые текстуры, но без правильных сведений о цвете. А без них мы можем разве что копировать их текстуры им же! Чтобы вытащить цвет, у меня есть план. Надо задать в какую-нибудь текстуру все байты от 0 до 255 несколько раз. Потом открыть игру и посмотреть, как она стала выглядеть. Потом загрузить её себе в Paint и вытащить оттуда байты цветов. Таким образом, получим некую цветовую таблицу соответствия. Тогда, с её помощью можно будет экспортировать части двоичного кода файлов в bmp с нормальным цветом. Но что более важно, изменять их и импортировать назад! Для этого мне нужно будет написать _четвёртую_ супер-гениальную программу!
Задание хакерам: понять, каким образом можно преобразовывать любой двоичный поток данных в звук с заданной частотой дискретизации и битрейтом. А про третий пункт:
Задание программистам: найти или написать программу, которая может издавать звук любой частоты по требованию, чтобы прослушивать байты методом, который придумают хакеры.
Заданий переводчикам пока нет. Разбёрёмся ещё кое с чем:

Quote (MrModez)
а почему WAD файл? Я помню менял все в SCUS файле. Там все легко и просто...

О каком «SCUS» идёт речь? Расширение, размер и скриншот первой страницы файла из WinHex, пожалуйста!

Quote (OLEG778)
я так думаю, что перед тем, как начинать переводить, нужно все-таки полностью убрать из игры защиту

Согласен, план действий такой:
1) Взять Greatest Hits.
2) Распаковать WAD через мой WAD – 1паковщик.
3) Найти любой уровень, (лучше из первого мира) среди полученных субфайлов.
4) Пропустить его через мой Текст-О-Вытаскиватель.
5) Очень дерзко изменить некоторые диалоги.
6) С помощью моего PICTURE Viewer найти некоторые текстуры.
7) Осторожно взять их байты через WinHex и залить как «simulate encrypted data».
8) Запаковать всё обратно в WAD.
9) Через CdGenPS2 собрать образ.
10) Через Epsxe открыть его и начать проходить игру.
11) Войди в «коцаный» уровень – игра продолжит работу.
12) Пройти добросовестно всё в первом мире, включая Берег Ракушек.
13) Убедиться в том, что сработала защита и у Шейлы пропало яйцо.
14) Открыть оригинальный Greatest Hits в Epsxe и проходить его.
15) Дойдя до Берега Ракушек сохраниться и выйти.
16) Использовать подставной образ и загрузить игру.
17) Убедиться, что глюки НЕ проявляются, хотя загружен модифицированный образ, поскольку инициализация игры пропущена.
18) Вооружиться ArtMoney и начать взлом «кодированного значения», переключаясь с одного образа на другой.
19) Найти байт, который отвечает за включение защиты.
20) Заморозить его на оригинальном образе и загрузить подставной.
21) Вновь пройти весь первый мир, убедиться, что глюки больше не появляются совсем.
22) Опубликовать сюда найденный адрес, чтобы я смог проверить его на своей Spyro3в1, дабы убедиться в его массовости и стандартизации.

Но только после того, как мы научимся спокойно модифицировать уровни!
Если всё это будет успешно сделано, то я смогу попытаться поколдовать над Paradox, чтобы он заморозил необходимый байт. Потом попробуем засунуть Paradox в Greatest Hits. Вырежем из него чёртову музыку и буквы (как ?) и тогда игра станет отлично работать без всеми любимой и ненавистной Защиты!
Все эти шаги я сам сделать сейчас не могу, так как скачать образ с моим 25кбит/сек просто невозможно! Позднее, я попробую «напрячь» высокоскоростных друзей. Но пока лучше пусть по алгоритму попробует пройтись кто-то другой. Сообщайте о результатах сюда, я смогу давать советы и дальнейшие указания «дистанционно»!

И скиньте кто-нибудь список файлов из корневого каталога Greatest Hits!
Напоследок скажу о том, что пока я писал Текст-О-Вытаскиватель, я обнаружил явные ошибки программ, как PascalABC, так и Game-Maker! И это серьёзно, ранее я просто не пользовался следующими их функциями:

И ссылка на мою программу:
http://klimaleksus.narod2.ru/Files/TXT_v1.1.rar
Там, как и раньше – четыре файла, 1Мб.
P.S. На сайт http://www.rusperevod.com , который напечатан на всех дисках с переводом от KUDOS (откуда-с откуда-с перевод?), хоть кто-нибудь может зайти? У меня не выходит ничего...
И ещё кое-что нашёл для переводчиков: http://www.lazy-games.com/job/memo.htm


but nobody came

Сообщение отредактировал aleksusklim - Понедельник, 04.07.2011, 01:36
 
aleksusklimСообщение # 10 | Тема: Перевод Spyro 3: Взлом и программы Воскресенье, 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
 
aleksusklimСообщение # 11 | Тема: Перевод Spyro 3: Взлом и программы Четверг, 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 кодировка всегда едина и никак не связана с содержимым файлов (или слабо связана!).
Однако, взгляните вот сюда:
 
aleksusklimСообщение # 12 | Тема: Перевод Spyro 3: Взлом и программы Четверг, 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
 
aleksusklimСообщение # 13 | Тема: Перевод Spyro 3: Взлом и программы Суббота, 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
 
aleksusklimСообщение # 14 | Тема: Секреты и глюки в Spyro 3 Воскресенье, 17.07.2011, 23:14
Аватар aleksusklim
фдулыгылдшь
Редактор
«1066»
Где: Не в городе Драконов
Нет, я не могу!! Неведомая сила во мне сама заставляет меня цитировать это!!! :
Quote (Serlutin)

[Люди, скажите, как вы делаете этот двойной прыжок? ]

А ты уверена, что хочешь это знать? Ты сделала намеренно этот шаг? Запомни, эти знания нужно применять только в мирных целях. Тебе нужно отличать добро от зла.
Забудь, чему учили тебя в обычной жизнь, очисти свой разум для новых знаний. Учение Двойного прыжка зародилось очень давно. Всё началось с нажатия кнопки прыжка (крестик). Высоты этого прыжка хватало для обычной жизни дракона, он мог попадать всюду куда хотел, но ему хотелось больше. Ему хотелось прыгать выше, продлевать большие расстояния, ему хотелось дотянуться до солнца. Каждый божий день он проводил в Летнем лесу, чтобы прыгать по платформам, ночью же он прыгал в Зимней тундре. Он прыгал и в дождь, в Хуррикосе, и в снег, в Коллосус. Погода не была ему помехой, он пытался достичь своей цели. И ему это удалось, удастся и тебе, если будешь тренироваться и следить. На деле знания очень просто, но нужно научиться их применять. Подумай, что ты можешь делать в том же Глиммере, например. Ты можешь прыгать, а можешь парить или можешь таранить. А как на счёт того, чтобы сделать это одновременно. Кажется невозможным? Вздор, это всё предрассудки. Всё еще не веришь? Посмотри на это. Впечатляет, не правда ли?
Чтобы такое сделать не нужно иметь большой ум или накачанные мышцы. Нужна лишь вера в силу Двойного прыжка.
Подойди к самому краю платформы или обрыва, нажми прыжок (крестик) и спустя один миг таран (квадратик). А потом почувствуй силу, если дракончик подпрыгнул высоко вверх значит сила с тобой, а если дракончик полетел вниз и вот вот разобьётся, то значит не повезло.

[ибо играю на стандартной клавиатуре]

Это заблуждение, юный ученик. Для владения силой Двойного прыжка не важны средства, но важны помыслы. Используй нестандартную клавиатуры расскладку, да руки располагай по разному. У учителя твоего на Shift таран настроен, на Space прыжок, огонь на букву S, да ходьба на стрелочки. Учитель твой обмануть Толстосума смог, да и не один раз. Учись, мой юный ученик, да пребудет с тобой Двойной прыжок.


Финишом явилось мне Двойного прыжка учение, о сенсей, мудрейший из мудрейших! Проникся его духом я, душой всей верил, вновь и вновь старался я. И в Тундре зимней, и в дождь и в снег и в погоду нелётную! Но чудо повторить сиё никак не удавалось мне. Отсутствует способности такие на диске на моем быть стало. Жаль очень мне, аминь…

Quote ( Спай)
Всё очень просто: надо нажать прыжок,а потом (всё ещё держа прыжок!)"рога" в высшей точке прыжка. он для обоих методов,просто во втором случае нужно ещё раз нажать прыжок после "рогов",чтобы полететь.


Не так уж и «просто»! У меня в этот момент происходит только «подёргивание» Спайро и обычный «бодающий прыжок» вперёд с вытянутой лапкой (максимальная высота = обычная высота прыжка + две холки дракона). Назвать это «достижением» или допрыгнуть этим куда-нибудь просто не выходит! Может кто-нибудь показать ФАКТ двойного прыжка на скриншоте? (просто видео… у меня даже YouTube не открывается. А уж видео подавно. А ещё у меня всегда плохо открывались сайты на ucoz. Только не этот форум! Много же вы им ассигнаций отстегнули…).

Итак, двойной прыжок – ??

Quote (Serlutin)
Этот вопрос задавай в теме про Секреты и глюки Спайро 2


Только не нужно мне предупреждения выдавать за это, пожалуйста! Я ведь ещё хочу кое с чем разобраться:

Quote (aleksusklim)
где секретный портал Бамбуковой Террассы


Quote (Serlutin)
Я что-то никогда не слышал про секретный портал в Bamboo Terrace, так что, скорее всего, это чья-то ошибка. Хотя может быть я ошибаюсь


Quote (Тампли)
Скорее всего фейк. Или кое кто просто спутал уровни, ибо на бамбуковой террасе глюк был один - секретное яйцо.


О да!! «Что вы копаете, тут нет никакого золота! И никогда не было! Тут платина…» (шутка). КАКОЕ ЕЩЁ ЯЙЦО!?

Но вопрос вот в чём:

Quote (Тау)
По теме: чтобы избавиться от глюка с тремя пандами войдите и выйдите в секретный портал

И ещё: в этом же уровне можно перейти через озеро без помощи моста. Ныряем в озеро, наводим мордашку Спайро в сторону куда хотим прыгнуть, жмем на джойстике вниз (на клаве стрелка вниз) и жмем "бодать". Вуаля, мы обошлись без моста.

Надеюсь все понятно


Ага, очень понятно!! (Шутка…). Нет, преодолеть мост без моста я-то смог, а вот секретный портал нигде не видал (в рифму!)

А ещё сказал кто-то (?) вот здесь:
http://www.spyro-realms.com/forum/4-111-6317-16-1219501311
Quote
Но, как я понимаю, к этому секретному порталу можно попасть только прыгнув из озера (без моста) и пройдя весь уровень до конца. Кстати, в этом уровне можно плавать в воздухе. Просто подплыви к краю водопада и нажми квадрат (для заряда-нырка). Вот здесь:
[далее следует скриншот из Бамбуковой Террасы]


Почему «кто-то»? Его везде называют « spyro », однако имя пользователя – « Yams ». И почему-то он больше не оставляет сообщения на форуме. По крайней мере, в этой теме. Ещё вопрос: Как Serlutin смог написать два сообщения ПОДРЯД, (как раз, когда про загадочный Двойной прыжок повествовал) если система приплюсовывает последующие к прежнему? И последний вопрос:

Quote (Serlutin)
//Уменьши изображения до миниатюр или оставь просто ссылки на изображения, потому что изображения больше 300x300 запрещены.


Неужели!? А почему никого не ругают за 640*480? Иле речь не о пикселях (а о сантиметрах, например!)

… Я знаю, как это называется! «Секреты и глюки spyro-realms.com»!

============
А ещё я стихотворение написал… Методом терцины, не удивляйтесь странной рифмовке. Думал, в какую тему его прикрепить. Решил, что эта популярнее. Правда, оно может потонуть тут в 29 страницах, особенно если потом появится ещё столько же. Кстати, стих хороший, если вникнуть. Администраторы могут использовать его для нужд проекта (как визитную карточку сайта, форзац или пролог):


Создавший мир чудесных грёз
Однажды на мгновение
Людей невольно перенёс
В волшебные владения!
На жизнь оставшуюся всю
Запомнит население:
«Бегу, рычу, лечу, кричу» –
Умеючи внушает он.
Понять: «Но чем же!?» – я хочу, –
«И отчего стал чемпион
Лишь фиолетовый дракон?»


…На критику не скупитесь: рецензентов я люблю!
А в Ташкенте сегодня маленькое землетрясение было!


but nobody came

Сообщение отредактировал aleksusklim - Воскресенье, 17.07.2011, 23:46
 
aleksusklimСообщение # 15 | Тема: Перевод Spyro 3: Взлом и программы Воскресенье, 17.07.2011, 23:52
Аватар aleksusklim
фдулыгылдшь
Редактор
«1066»
Где: Не в городе Драконов
МОЩЬ!! Попробую засунуть перевод в свою версию (у меня тоже Spyro3в1).
А что насчёт Insomniac?


but nobody came
 
  • Страница 1 из 47
  • 1
  • 2
  • 3
  • 46
  • 47
  • »
Поиск:

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

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