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


Сообщение отредактировал aleksusklim - Среда, 29.04.2015, 19:51
 
DrWhoСообщение # 496 Вторник, 15.10.2013, 14:57
Аватар DrWho
Мудрый Дракон
Почетный Житель
«1371»
Где: Не в городе Драконов
Извиняюсь, что спрашиваю не в тему, но вопрос такой: можно ли выдрать из игры музыку? Вопрос не про Спайро, а про Arkanoid R 2000, я хотел саундтреки в игре послушать, а их нигде нет.

 
steeldragonСообщение # 497 Вторник, 22.10.2013, 13:07
Аватар steeldragon
Старейшина Драконов
Редактор
«422»
Где: Не в городе Драконов
Цитата DrWho ()
можно ли выдрать из игры музыку?
Можно, наверное... jpsxdec или PSound (гугл в помощь) должны справиться с задачей.
|===================================================================|
Я с недавних пор работаю над очередной программой. Суть её проста: максимально облегчить и убыстрить вставку текста в игру.
+++TextChanger!+++
Скачать: https://dl.dropboxusercontent.com/u...._2_2.7z

Для её работы нужен всё тот же Python 3.
EDIT: Обновлена до версии 1.2.2. Повышена скорость вставки текста. Добавлено изменение имён (их список загружается отдельно).
-------------------------------------------------------------------------------------------------
Что TextChanger умеет сейчас:
1) Заменять шрифт. Этот процесс занимает доли секунды и не требует ничего, кроме правильно извлечённого субфайла уровня.
2) Заменять текст, но только с ограничением на длину. Слишком длинные строки автоматически укорачиваются.
-------------------------------------------------------------------------------------------------
Краткая, насколько это возможно, инструкция по применению:
1. Заменить SCUS - файл на прилагаемый в архиве.
2. Отформатировать текст для вставки следующим образом:
(четыре строки на одну строчку английского текста)
|Оригинальный текст| (крайне важно, чтобы в нём не было ничего лишнего, такого как номер звуковой дорожки и пробелы после текста.)
|   *Пустая строка*    |
|          Перевод        |
|   *Пустая строка*    |

3. Запустить программу (.py файл в архиве), перетащить субфайл уровня (извлекается и вставляется обратно с помощью AWM) и файл с текстом, когда программа спросит, после каждого нажимать Enter. Запрос дампа памяти можно пока игнорировать (просто нажмите Enter).
4. Подождать завершения процесса. Готовый файл будет в папке программы под именем output.wad.
|==================================================================|


Сообщение отредактировал steeldragon - Понедельник, 04.11.2013, 15:21
 
aleksusklimСообщение # 498 Суббота, 26.10.2013, 00:02
Аватар aleksusklim
фдулыгылдшь
Редактор
«1066»
Где: Не в городе Драконов
…А я вот что сделал: http://klimalekus.hol.es/forum/
 
steeldragonСообщение # 499 Суббота, 23.11.2013, 19:19
Аватар steeldragon
Старейшина Драконов
Редактор
«422»
Где: Не в городе Драконов
Хм. Чисто случайно наткнулся на таблицу соответствия "золотого" шрифта в Spyro 1.
В 22-ои субфайле японизированной версии сначала идёт WAD-подобная таблица файлов, так? А вот и нет. Со смещения 16(dec) идёт таблица соответствия. Номер-4 байта, смещение файла-4 байта. Этот номер распространяется на все s3m-подобные файлы в субфайле. Номера букв меняются совершенно без побочных эффектов.
Сейчас буду проверять пару вопросов, а именно:
- Можно ли сменить любой объект на любой? (камень прилепить к порталу, буквы разбросать по уровню...)
- Что произойдёт, если задать "незанятый" номер любому объекту?
...и так далее. О результатах напишу позднее.
EDIT: Можно менять "занятые" номера и "незанятые" тоже, вылетов не наблюдается. Правда, пока непонятно, соответствуют "незанятые" номера хоть чему-нибудь, или нет.

Добавлено (23.11.2013, 19:19)
---------------------------------------------
В процессе взлома указателей сломал игру...
Ну, как сломал? Почти с самого начала суб-субфайла 4 идут некие куски "сильно упорядоченных данных" ( https://db.tt/2nfebW7T ). Применил на них "simulate encrypted data". Результат - не отображаемый вообще (и иногда "мигающий") кусок уровня ( https://db.tt/rSCRFLND ). Напоминаю, речь идёт о четвёртом суб-субфайле, от модели уровня это далековато. Плюс это характерное "мигание" намекает на то, что это вполне могут быть данные об углах камеры. Осталось выяснить, как это всё работает...

P.S. Я не забыл о цветах текста, чуть позже проверю и их.


Сообщение отредактировал steeldragon - Суббота, 23.11.2013, 19:21
 
aleksusklimСообщение # 500 Понедельник, 13.01.2014, 23:19
Аватар aleksusklim
фдулыгылдшь
Редактор
«1066»
Где: Не в городе Драконов
Взломы, эксперименты и доработки:

CreepyTrap1V0, для запуска нужен SavestateRunner1V1;

FontTable1V2, для запуска нужен PascalABCr;

FreezeCheat, для запуска нужен SmartPatcher1V2 и ArtMoney (artmoney.amkey)

Подробности в теме Текста!

Добавлено (13.01.2014, 23:19)
---------------------------------------------
Вспомнил:
Когда внимательно взглянул на распечатку текстов Вектора:
http://spyro3-rus.googlecode.com/svn....TOR.txt
, заметил что там последовательность нумерации уж больно последовательная.
Они научились менять длину звуковых дорожек, сортировать их и адекватно сопоставлять с игровыми объектами?
Это взлом не только STR, но и XOR-расшифровка «следующийх» субфайлов.
steeldragon, мне нужно взглянуть на эти файлы для сравнения.
Например 099, 101, 103…


but nobody came

Сообщение отредактировал aleksusklim - Понедельник, 13.01.2014, 01:42
 
steeldragonСообщение # 501 Суббота, 01.02.2014, 14:51
Аватар steeldragon
Старейшина Драконов
Редактор
«422»
Где: Не в городе Драконов
Цитата aleksusklim ()
steeldragon, мне нужно взглянуть на эти файлы для сравнения.
Нет, вам это совершенно не нужно. "Последовательная последовательность" - всего лишь результат разницы версий. Аналогичный векторовскому файл с текстом, но снятый с американской 1.0 версии игры. Номера треков совпадают один-в-один.

Добавлено (30.01.2014, 22:18)
---------------------------------------------
Новая версия TextChanger (1.4.3): https://dl.dropboxusercontent.com/u....r1_4.7z
Если у кого-то будут вопросы - задавайте.

Добавлено (01.02.2014, 14:51)
---------------------------------------------
Проверил теорию - добавил килобайт к четвёртому суб-субфайлу уровня (предварительно поставив размер всего субфайла побольше). Все работает... Правда, если поставить большой черезчур размер (в моём опыте - килобайт 60), графика (текстуры) портится. Даже портальное небо.


Сообщение отредактировал steeldragon - Суббота, 01.02.2014, 14:54
 
aleksusklimСообщение # 502 Суббота, 22.03.2014, 00:29
Аватар aleksusklim
фдулыгылдшь
Редактор
«1066»
Где: Не в городе Драконов
Э-э, ребят, мне лень выкладывать скриншоты поодиночке, качайте сразу архивом:
http://klimaleksus.narod.ru/Files/S/dino.rar

Да, я думаю это он самый.

Добавлено (22.03.2014, 00:29)
---------------------------------------------
Во, гляньте:
http://klimaleksus.narod.ru/Files/1/oes.png

Как вам интерфейс? Арт-инфаркт?
А справку мне стоит писать, или в нём реально будет и самим разобраться? …



UPD:

Цитата Томас
Надо как минимум собрать из кусочков статую - памятник будет!


…Это самое реальное, что можно с ним сделать.

Цитата Томас
А яйцо-то, яйцо!!


Я думаю, эта камень или скала. Возможно он ими кидался или они падали с неба.
Ещё вероятнее, что она вообще ни причём, просто используется где-то ещё в Dino Mines, возможно в меньшем масштабе.
Используется?

Цитата Томас
Текстурка горная-тектоническая?


Не знаю, сама была такая натянута.
Доступа к текстуре у меня пока нет, как и к самой модели.
Это текстура используется где-то ещё на уровне?

В любом случае я уверен, что он должен был быть нормально текстурирован. Но пусть есть хотя б такой!

Цитата Томас
Ну расскажите хоть что-нибудь, это ж нереально!


Ещё он, кажется, анимирован.
Но сопротивляется при любых попытках включить анимацию, прокручивает все кадры и снова приходит с статичной модели.

Отдельно по кадрам вытащить я не могу, я думаю анимация вообще устроена сложнее.
Каждый или почти каждый объект хранит не только номер текущего анимационного трека, но и номер предыдущего. По-моему из-за этого мы не видим явных скачков и нестыковок при переключении одной анимации любого объекта на другую.
Там либо дополнительные анимационные связки, либо вершинки как-то плавно переходят между долей одного трека и другого.

И что-то управляет анимацией. Если не она сама, то код.
А я почти уверен, что весь его КОД на месте. Логика скорее всего осталась, его теоретически даже можно оживить…

Цитата steeldragon
А... это... его вообще можно собрать?


Ну работать он пока не будет, это точно.
Проблема в том, что все его части – один и тот же тип объекта. Значит, они должны различаться чем-то другим, кроме самой модели.
Наверняка есть его «мозг» – один объект или подвид этого, который при особых условиях создаст все остальные части тела в нужных местах и запустит в рабочем состоянии.
Если логика такого центра нарушена или удалена, то воссоздать возможно будет только самим расставив и объекты и связки между ними.
А для этого надо досконально проштудировать весь код этого объекта, чтобы понять, что он хочет чтобы у него было чтобы работать.
…А я ещё код ни одного объекта не читал. Разве что Спаркса, и то только начало, дальше ничего не понял.

Цитата steeldragon
Там все части есть?


Все какие заскринил, если конечно там нет ещё какого-нибудь подразделения.

И те разноцветные камни или уступы – что это? Тоже для него, или используется где-то ещё в Dino Mines?


but nobody came

Сообщение отредактировал aleksusklim - Воскресенье, 23.03.2014, 21:48
 
steeldragonСообщение # 503 Воскресенье, 23.03.2014, 18:18
Аватар steeldragon
Старейшина Драконов
Редактор
«422»
Где: Не в городе Драконов
Цитата aleksusklim ()
А справку мне стоит писать, или в нём реально будет и самим разобраться?
Пишите, конечно! Справка тут нужна, как воздух аквалангисту. Хотя бы краткая.

Цитата aleksusklim ()
dino.rar
Ого! Вот это да...
А... это... его вообще можно собрать? Там все части есть?
 
aleksusklimСообщение # 504 Пятница, 16.05.2014, 12:07
Аватар aleksusklim
фдулыгылдшь
Редактор
«1066»
Где: Не в городе Драконов
Ух-ты, я нашёл небо! Которое в Super Bonus Round в подуровне с Хантером и гонкой с йети.

Там ж другое небо, помните? А мой SWV отображал его как небо родительского уровня, потому что я не знал, где находится его настоящее.

А теперь выяснил. Я не там искал! Оно не в том суб-субфайле, где хранится земля подуровня, а в том, где объекты и их текст.

Это первый прыжок! По смещению 48, то есть на третьей строке в WinHex. Там число, первый (из двенадцати или восьми у Spyro2) прыжок для поиска таблицы объектов. И для всех, абсолютно всех этих управляющих суб-субфайлов, включая сам уровень (четвёртый суб-субфайл), оно равно «4», то есть прыжок просто через него, отсутствие прыжка. Был логичный вопрос, зачем он нужен…

Так вот оказывается, только (а может и не только, при финальной конвертации всех посмотрю остальные уровни) ради Супер Бонуса, у которого в одном из порталов подуровней другое небо. Ради этого разрабам пришлось не только сделать эту ячейку равной 4 на всех других уровнях и их подуровнях, но и в явном виде прокопировать туда основное небо для тех подуровней этого уровня, где оно не меняется, то есть для всех остальных.

Даже в четвёртый суб-субфайл уровня. Что довольно странно, тогда зачем вообще небо там, где оно по стандарту лежит, если в каждом и даже в основном уровне его копия?

Короче, вместо числа 4 в 170-ом субфайле везде лежит размер неба, а само небо следом.
И кстати с размерами, говорил я или нет, но теперь ВСЕ игровые структуры, с которыми я имею дело (земля, небо, списки текстур и объектов) будут начинаться с числа, обозначающего их размер. Чтоб стандартизировать для ручной конвертации, так формат логичнее будет.

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

И портальное небо в Spyro2 и 3 я тогда так и не доламал… Всё равно это просто квадрат, лучшее что я с ним придумал – собрать из шести таких небес один куб, и в SWV его смотреть. Но пока там совсем ничего не взломано, плюс я не помню в точности, где всё было, а выложить хоть имеющееся уже давно хочется.

И кажется, супер редактора моделей из Spyro1, встроенного в SWV, пока тоже не будет, я тогда так и не смог его до ума довести, кажется steeldragon с этом форматом лучше разобрался, потому что несмотря на все его объяснения, у меня до сих пор что-то проглючивает.

Распаковку «пачки небосводов» я вообще уберу: это небеса перелётов между порталами, и они во-первых в точности равны реальным небесам тех порталов во всех версиях Spyro2 и 3, а во-вторых в них нет абсолютно ничего интересного, ибо это те же самые банальные копии основных небес без чего-либо другого (вроде небес на самих порталах или вот этого из последнего скейттрека, что я там рассчитывал увидеть).

А, ну и насчёт поиска небес теперь. У меня же как раньше было – если передавать только имя файла для сохранения модели земли, то сохраняется лишь первая, как для Spyro2; если со звёздочкой – то все из подуровней.
Теперь имя для модели неба тоже можно передавать со звёздочкой. Если её нет, то всё по-старому. А если есть, то напротив каждой земли ищется её небо, и если оно не найдёно, то вместо него копируется основное, а если же обнаружено – то новое.

Добавлено (01.05.2014, 19:38)
---------------------------------------------
О-о, я наконец в Spyro1 взломал камеру!

Она нелогичная, хотя и похожа на Spyro3. Первое отличие – все характеристики это четырёхбайтные целые. В Spyro3 это были двухбайтные: X, Y, Z, R, P, W. (Roll, Pitch, yaW)
Первые три – координаты, и, чтобы мои из SWV преобразовать для Spyro3, их надо умножать на 4, а для Spyro1 – на 16.

С тремя углами сложнее. У Spyro3 всё по стандарту:
http://klimaleksus.narod.ru/Files/3/cam.png

Сначала применяется yaW вокруг глобальной Z оси влево; потом Pitch как отклонение своей головы передней оси вверх или вниз (вокруг Lateral на рисунке), и в конце накладывается Roll – вращение вокруг направляющей оси влево, то есть кручение вокруг линии зрения.

Поскольку моя камера висит на трёх векторах, а не углах, мне пришлось брать арктангенсы и арксинусы, чтобы получить эти три угла. Сначала смотрю проекцию на плоскость вектора, который направлен вперёд – получаю yaW, затем рассматриваю его проекцию на вертикальный вектор – получаю Pitch. Имея эти два угла, поворачиваю на них единичную тройку векторов, и беру их скалярное произведение с настоящими векторами камеры (кроме направленного вперёд вектора) – это и будет Roll.

Все углы надо поделить на 2*pi и умножить на 4096, за переполнением или отрицательными значениями можно не следить, игра скушает.

А вот над Spyro1 я уже неделю потел, и наконец сделал. Там Roll обрабатывается совсем не так, как полагается. Но если он равен нулю (то есть земля внизу, без переворотов вверх тормашками), то остальные углы корректны. Наоборот, если yaW и Pitch нулевые (камера смотрит по оси абсцисс – красная линия в SWV), то Roll работает как полагается. Но когда все три произвольные, получается бред…

Выяснилось, что последний угол поворачивает не вокруг направляющей оси зрения, а тупо вокруг глобальной X оси. В итоге, все углы обозначают уже не те авиационные углы.

Пришлось сначала вычислить Roll – через проекцию латерального вектора на плоскость YZ. Затем повернуть на этот угол единичную тройку векторов, и обработать её по алгоритму получения yaW и Pitch как для Spyro3. И в самом конце повернуть новую единичную тройку векторов на эти три угла (первые два как обычно, а Roll вокруг оси абсцисс) и посмотреть угол между вертикальными (или между латеральными) векторами исходной и итоговой троек – он может оказаться перевёрнут, и тогда надо повторить весь алгоритм заново, но к Roll добавить pi в самом начале.

Фух, осталось ещё для Spyro2 камеру посмотреть, но не думаю, что она чем-то отличается от Spyro3.

Добавлено (09.05.2014, 19:04)
---------------------------------------------
Упростил формулы поворота, оставив в них только то, что нужно. Думаю, не лишним будет опубликовать точные формулы:





Вызываю их вот так:
fromSWVtoSpyroX(camera.x0,camera.y0,camera.z0,camera.xt,camera.yt,camera.zt,camera.xr,camera.yr,camera.zr);

Первые три аргумента – координаты камеры в масштабе модели мира, потом три – координаты единичного фронтального вектора (куда смотрит камера), затем три – координаты единичного латерального вектора, который находится справа под прямым углом.

На выходе получаю то, что можно сразу передавать в эмулятор.

Вот вспомогательные функции вращения точек вокруг векторов:


– Создаёт матрицу поворота вокруг заданного вектора (передаётся угол в радианах и координаты вектора, наверно, нормализованного…)


– Поворачивает точку (вектор) по созданной ранее матрице, нормализует её.

Скришнот работоспособности:
http://klimaleksus.narod2.ru/Files/3/camera.png

Теперь мне осталось ещё доработать обратное преобразование координат и углов объектов, чтобы в SWV рисовать их пирамидками.

Добавлено (16.05.2014, 12:07)
---------------------------------------------
Я подумал, что не будет ничего плохого, если я выложу тестовую-бета-демо версию:
http://klimaleksus.narod.ru/Files/3/SWV_beta.rar


but nobody came
 
MrModezСообщение # 505 Суббота, 17.05.2014, 15:32
Аватар MrModez
Дракон Подросток
Житель Города
«611»
Где: Не в городе Драконов
Цитата aleksusklim ()
Я подумал, что не будет ничего плохого, если я выложу тестовую-бета-демо версию: http://klimaleksus.narod.ru/Files/3/SWV_beta.rar

Работает превосходно. А можно так с обычными уровнями? Можно будет машиниму снимать :D


I'm MrModez
Мои новые треки в стиле Спайро:
Desolate Forest Skate Park - Spyro Custom Track
Lofty Farms - Spyro Custom Track
Gleaming Coast - Spyro Custom Track
 
aleksusklimСообщение # 506 Вторник, 03.06.2014, 13:38
Аватар aleksusklim
фдулыгылдшь
Редактор
«1066»
Где: Не в городе Драконов
Обнаружил такой довольно странный глюк.

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

Короче, Evening Lake > Lost Fleet > подуровень пирата с подлодками > зелёное кислотное озеро.

Проверял только на Платиновой версии, если кто захочет – испытайте GH.

Итак, я залез в кислотное озеро, взяв защиту. У меня был Спаркс второго уровня, то есть синий. Особого ничего не использовал, лишь прочитил себе 150 яиц и 20000 камней. Был ещё взлом высоты на горячих клавишах, но я его не использовал.

Суть в том, что если у дракона кончится защита, пока он плавает по поверхности – его отбросит вверх с обожжённым хвостом (если жив Спаркс; иначе Спайро тонет), если защитf кончится, когда он будет под водой кислотой – он погибнет мгновенно, с анимацией удара током (стрtкоза пропадёт сразу).
Интереснее наблюдать, что будет, если защита кончится когда дракон будет находиться физически в жидкости (и плавать), но прямо под её поверхностью, до которой не более одной холки Спайро. Его выбросит вверх (на солидное расстояние сквозь жидкость), но сила прыжка будет как если бы он прыгал с поверхности, то есть он вылетит невысоко, и тут же снова упадёт и обожжёт хвост, и второй прыжок станет уже высоким.
Это конечно со Спарксом, а вот если нет стрекозы, то Спайро утонет прямо в воде (находясь ниже поверхности), с анимацией как если бы тонул с поверхности, а не от удара током (который ещё и нереалистичен тем, что падение вниз происходит как если б там была не вода а воздух).

Но это ещё не глюк. Вопрос: что будет, если защита закончится ровно в тот миг, когда Спайро проплывёт сквозь воротца, дающие новую порцию защиты?
Ну мой ответ такой: если в момент как пропадёт защита, дракон будет в кислоте – он погибнет (за исключением случая под самой поверхностью, описанного выше, когда лишь теряется один HP стрекозы); факт прохождения через рамку никак на это не влияет, потому что защита автоматически повышается до максимума, и никакого урона не регистрируется. Если же предположить, что оба события (истечение таймера и прохождение ворот) действительно произошли в один игровой миг (фрейм/кадр, 1/60 сек.), то мой ответ ещё проще: что в коде игры обрабатывается раньше, то и случится – если истечение времени, то смерть, если новый таймер, то жизнь.

Глюк обнаружился случайно, хотя я намеренно проходил через рамку в последнее мгновение (я играл без звука и сделал savestate находясь в кислоте с низкой защитой, и просто хотел-таки успеть выбраться оттуда не теряя жизнь). Вот что получилось:

Спайро выжил, но Спаркс пропал!

И как такое возможно? Причём повторюсь, Спаркс был синий, то есть за один раз он никак не может исчезнуть. Ведь урон в игре либо не наносит повреждений, либо отнимает очко стрекозы, либо убивает сходу. Никогда не было так, чтобы потерять Спаркса любого уровня, но при этом самому остаться в живых.

Пришлось повторить опыт, и на это ушло очень много времени, но снижение скорости эмуляции до 15 кадр/сек. мне помогло. Ещё раз на тех же условиях и получилось!
Синий Спаркс пропал.

Я сразу подумал о режиме полусмерти, очень загадочном явлении. Кажется, он происходит когда Зоя сохраняет дракона в момент анимации проигрыша (или если через атлас улететь в другой мир одновременно с получением урона, например от лавы), хотя уже точно не помню, надо перечитать посты Йамса.
В Spyro1 это срабатывает, если любой противник смертельно ранит Спайро, отбросив его на площадку к замороженному дракону.

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

Но здесь-то пауза нажималась, а соприкосновение с водой обрабатывалось!
Это можно назвать режимом четверть-смерти…

Предлагаю всем желающим повторить эксперимент, лучше при других условиях (например, на золотой стрекозе в Greatest Hits).

Надо сказать, что жизнь Спаркса у меня была на горячих клавишах в ArtMoney, но забинденными стояли лишь установка в зелёного и добавление единицы, так что глюк не из-за них.




Сообщения об удалении и восстановлении темы «графика + общие вопросы» перенесены сюда:
http://www.spyro-realms.com/forum/48-11672-189362-16-1401961198




Колдунья на выпасе стада овечек:
http://klimaleksus.narod.ru/Files/3/sheep_1.jpg
http://klimaleksus.narod.ru/Files/3/sheep_2.jpg
http://klimaleksus.narod.ru/Files/3/sheep_3.jpg
!


but nobody came

Сообщение отредактировал aleksusklim - Четверг, 05.06.2014, 20:55
 
steeldragonСообщение # 507 Вторник, 26.08.2014, 21:44
Аватар steeldragon
Старейшина Драконов
Редактор
«422»
Где: Не в городе Драконов
А-га! Я нашел его!
https://dl.dropboxusercontent.com/u....%21.jpg

На скриншоте вы можете увидеть повреждённые модели камней. Я абсолютно уверен, где-то рядом есть и золотой шрифт.
Добился я такого эффекта путем небольшого повреждения субфайла 97. Если кому надо, могу предоставить сейвстэйт.
 
aleksusklimСообщение # 508 Среда, 27.08.2014, 00:57
Аватар aleksusklim
фдулыгылдшь
Редактор
«1066»
Где: Не в городе Драконов
Да! Вы правы.

Эй, а резвее это не тот файл, который я назвал «пачкой небосводов»?
В любом случае, в его начале действительно описаны все бриллианты (в стандартной последовательности). Формат сходу не понял, но вроде между указателями лежат полигоны, а после всех бриллиантов большое заполненное пространство, если занулить его – пропадают сразу все. Возможно, это списки вершин или ещё чего-то общего.
Ну да, надо думать, надо взламывать.

Ещё ниже данные уже загружаются в другую часть RAM памяти. И их повреждение мне всё сбрасывало… Но я-таки нашёл, за что они отвечают:
http://klimaleksus.narod.ru/Files/G/aha_01.jpg
!!
Это часть корзины шара, и я на ней как-то цвета (или текстурные индексы) повредил.
Тронул ещё немного рядом, и:
http://klimaleksus.narod.ru/Files/G/aha_02.jpg
Стёр шару стропы.

Итак, имеем 97-ой субфайл, в котором находятся НЕ анимированные модели, используемые на протяжении всей игры.
С большой вероятностью, золотой шрифт тоже там.
 
steeldragonСообщение # 509 Среда, 27.08.2014, 14:24
Аватар steeldragon
Старейшина Драконов
Редактор
«422»
Где: Не в городе Драконов
Цитата aleksusklim ()
Эй, а резвее это не тот файл, который я назвал «пачкой небосводов»?
Да, вы тоже правы.
...
Я запамятовал, а небеса из этого файла используются в игре?
Похоже, я опять дал маху и залез не в тот субфайл. Эти модели находятся... в конце третьего субфайла уровня! И на них, что примечательно, есть указатели.
https://dl.dropboxusercontent.com/u....ble.jpg
Это четырехбайтные адреса начала файлов, без указания размера. То есть, в данном субфайле (98) есть, предположительно, 45 файлов моделей. Файл с красным камнем находится, кажется, на семнадцатом месте.

P.S. Похоже, там рядом вообще все модели с уровня: https://dl.dropboxusercontent.com/u....ion.jpg


Сообщение отредактировал steeldragon - Среда, 27.08.2014, 14:49
 
aleksusklimСообщение # 510 Среда, 27.08.2014, 15:43
Аватар aleksusklim
фдулыгылдшь
Редактор
«1066»
Где: Не в городе Драконов
А вот это прикольно.
Я попробовал сопоставить части файла 97 и 98, и нашёл полное совпадение нехиленького куска (красный алмазик точно, может и остальные).

Получается, что в 97 находятся КОПИИ всякой всячины.
Используются ли небеса оттуда? Честно говоря, я так и не понял. Но я точно знаю, что и в Spyro2 (номер субфайла сейчас не помню, но он известен) и в Spyro3 там нет никаких новых небес. Только копии.
Мне почему-то кажется, что этот файл используется ТОЛЬКО для перелётов между мирами.

Эй, всё сходится!
Ну смотрите:
1) Небосводы. Небо для перелётов загружается ДО уровня, это видно если грохнуть субфайл уровня и влететь в него.
2) Транспортное средство. Очевидно, для перелётов между боссами и домашними мирами.
3) АЛМАЗИКИ! Для подсчёта взятого количества, когда они из одной кучи на экране в другую пересыпаются.

Теперь вопрос на засыпку: будет ли там золотой шрифт?

Я бы сказал, что нет, потому что я не помню, чтобы он где-то между уровнями использовался.
А вот в 98 его реально стоит поискать, вместе с буквами. В недомашних мирах могут быть только цифры (вылетают из взятых алмазиков), а в Sunrise Spring должен быть весь алфавит.

Получается, моя «находка» совпадения между RAM и 97 – случайность, потому что 97 хранит копии кусков 98, а значит совпадение было между RAM и 98, что совершенно логично.

Мы чуть по ложному следу не пошли (ага, потом как с табличкой Insomniac – поменяли бы 97, прожгли, а в игре бы ничего не изменилось!)


but nobody came
 
Поиск:

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

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