Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - DCxDemo

Страницы: [1]
1
вот этот ром, проверь контрольные суммы: http://redump.org/disc/3694/

отдельного патча на портрет нет.
в теории можно пересобрать bigfile.big с японским ui_textures.vram, если очень хочется.

2
унёс ctr-tools в другой тред.

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

по поводу версий:
в каждой версии CTR есть отличия.
NTSC-U - самая ранняя и по сути недоделанная. Стандартные статы у Пента Пингвина, знаменитая фраза Penta Yay One и т.д.
К релизу PAL это всё пофиксили, сделали из пенты турбо персонажа, но порезали контент из-за нехватки места, да и идёт они в 25 кадров. PAL же.
Японский релиз вышел после PAL релиза, соответвенно включает в себя все фиксы из него, плюс идёт в 30 кадров. Ну и визуальный стиль обработали японщиной, включая пару эксклюзивных заставок. Кроме того там есть и заметные отличия - включили турбо счётчик по умолчанию и добавили индикацию "сложности" трассы.

поэтому тем кто в теме имеет смысл поиграть в японский релиз на понятном языке, тем более это почти нативный перевод.

3


CTR-tools - это набор утилит для работы с файлами из игры Crash Team Racing.
Идея проекта - описать неизвестные игровые форматы и написать распаковщики для них. Упаковщики только по мере возможности и необходимости.

Всё что накопано, доступно на гитхабе, есть дискорд (англ)
https://github.com/DCxDemo/CTR-tools

В качестве примера - распакованная модель Coco Park в разных уровнях детализации: https://imgur.com/gallery/v22A1Xk

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

bigtool - распаковывает, переименовывает файлы по человечески (в BIG файлах нет никаких названий) и запаковывает обратно при необходимости BIG файлы. подходят файлы BIGFILE.BIG и SAMPLER. BIG из демо-версий.
model_reader - читает статичный меш из игровых сцен, сюда входят как уровни, так и например заставки.
viewer - просмотрщик уровней на базе MonoGame.
levtool - gui утилита для работы с файлами уровней, в основном для экспериментов.
lng2txt - гоняет туда и обратно файлы локализации. Можно пофиксить какой-нибудь перевод.
howl - вытаскивает банки сэмплов и кастомные миди файлы (cseq) из файла KART.HWL
cseq - читает cseq файлы и конвертит в миди по мере возможности. Для части файлов написан кастомный маппинг инструментов в json, чтобы они звучали адекватно в миди.
mpktool - пока толком не реализован. mpk файлы содержат модельки персонажей и ссылки на текстуры интерфейса (шрифт, оружие, и т.д.)

Реализация парсеров структурно вынесена в CTRFramework - общая dll для всех утилит. По итогу весь парсинг должен происходить в ней.
С игровыми форматами можно ознакомится в ksy файлах в папке formats. Они описываются с помощью kaitai-struct: https://kaitai.io/

---

Если говорить об истоках, возможно, олды помнят вот этот трэд от HoRRoR'a: https://www.emu-land.net/forum/index.php/topic,36640.0.html
Этот проект можно рассматривать как своеобразное продолжение его трудов, несмотря на то, что как раз кусок, который он разгрыз в своё время пока не реализован  :lol:

4
ну, как пойдёт. если что местами поменяю.

ksy это kaitai-struct.
https://kaitai.io/

удобно использовать веб-ide для визуализации.
https://ide.kaitai.io/#

5
Кто копался в CTR, знают, что там довольно щедрая поддержка нескольких языков: игра использует отдельные файлы для локализации, ну просто мечта переводчиков.
Файлы эти используются во всех версиях. Соответственно и в японской версии эти файлы есть. Поэтому можно без зазрения совести поменять ссылку на японский файл ссылкой на английский и всё будет работать. Причём даже в местах, где японская версия использует отсутствующие строки заботливо появится "NA" (not available).

1. Открываем образ в хекс-редакторе (HxD например)
2. Ищем это: 66 D1 00 00 70 30 00 00 6D D1 00 00 9C 39 00 00
3. Заменяем этим: 6D D1 00 00 9C 39 00 00 66 D1 00 00 70 30 00 00
4. Сохраняем.
5. Наслаждаемся.

Скриншот главного меню: https://cdn.discordapp.com/attachments/527136512882769930/636916661139537920/unknown.png
Видео: https://www.youtube.com/watch?v=euf-TfxkIUA

Менее варварский способ:
прямое редактирование данных в образе, кончено, ломает контрольные суммы секторов
Поэтому более правильным будет использование CDMage.

1. достаём BIGFILE.BIG
2. делаем в нём аналогичную замену
3. кладём на место

---

Также если вам интересно покопаться в файлах игры:
https://www.emu-land.net/forum/index.php/topic,82948.0.html

6
Может быть два диска для игры по линк кабелю, нет? (проверять лень)

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

7
Сегодня я наткнулся на занимательную особенность этой игры, которая выпускалась на двух дисках.

Режим прохождения якобы записан на первом диске, а на втором - режим арены. Вот таким милым образом происходит смена диска.



Однако, оба образа весят подозрительно одинаково, да и список файлов практически не отличается. Если прогнать оба диска поиском дубликатов, выясняется, что по контенту отличаются только два файла: SYSTEM.CNF и GG\COM\CD.DAT. Кроме того, SLUS_010.30 и SLUS_010.81 - это один и тот же экзешник.

То есть по сути, разница между двумя дисками - это лишь CD.DAT. Весит он мало - 4 байта, а содержание его следующее: на первом диске - BA 00 00 00,  а на втором - BA 00 01 00. Если в образе второго диска 01 поменять на 00, то что бы вы думали? Замечательно запустится режим прохождения.

Получается, логика действий следующая, где-то при запуске экзешник читает CD.DAT и если там 0, запускается "первый диск", а если любое другое значение, то "второй диск". Далее при выборе смены диска он снова читает CD.DAT, чтобы удостоверится, что был вставлен другой диск.

Вероятно, можно в начале инициализировать переменную нулём, а затем каждый доступ к CD.DAT заменить на инвертирование 1/0 и таким образом избавить игроков от необходимости свопать диски. К сожалению, дебаггер из меня никакой и поэтому такая задача представляется нереализуемой. Буду рад, если кто-то вдохновится сделать такой вот патч.

8
http://www.zophar.net/utilities/psxutil/psicture.html

в описании к PSicture есть PSH. если конечно это тот psh.
в играх thps2-4, например, psh это текстовый файл и графику не содержит.

9
это шрифты, есть два файла 10 и 14kb, возможно 8-битная карта. там в принципе на шрифт много не надо.

вот например, если смотреть в хексе, можно различить контуры цифр.

в общем так. 4 байта - колво букв, дальше похоже массив разметки, 4 значения по 4 байта на каждую букву. дальше видимо битмап.

10
вот несколько fnt файлов.

11
Ну в ЖРПГ (и РПГ) понимание сюжета важно как никогда. Хотя с тобой понятно, ты просто тренируешься, удачи в начинаниях. Просто перевод симулятора скейтбординга - это как перевод шашек, вот и написал, ибо забавно.
я стал копать PSX совсем недавно, ибо занимаюсь в основном моддингом PC версий THPS. так что да, в хаке консолей я профан. но и судя по всему "шашками" никто не занимается, хоть польза будет.

А самому шрифты перерисовать?
Судя по всему сейчас используется один пиратских вариантов. Они обычно пренебрегают такими буквами, как Щ, Ъ, Э и т.п....
именно так. у них там свой fnt формат и я пока не заморачивался его копать.

DCxDemo, первая же ошибка которую я увидел уже на скрине. Известное задание со сбором букв выглядит страшно "ЦКАТЕ" Ну что это? Сделай чтобы писалось по-русски "СКЕЙТ" или ради пены "ДОСКА"  :)
а вот тут дилемма, не могу найти расположение этих букав  :) по той же причине в игре на двоих осталось HOЯЦЕ (horse).

12
а я никогда не понимал любителей jrpg, дело вкуса.

13
Занялся я этим переводом в силу спортивного интереса. Все пиратские переводы этой серии игр отличались изрядной корявостью, непереведёнными кусками и бажили по чёрному, вплоть до невозможности пройти игру. Использую графику (фоны и шрифты) пиратки (смею предположить что от вектора, но не уверен). Перевод писался в оригинальный английский экзешник.

На данный момент переведено:
различные меню - практически полностью
трюки - полностью
текст в карьере (при получении ленты) - полностью
советы (в начале игры) - полностью
бонусы (гэпы, синий текст) - частично (меньше половины думаю)
название скейтбордов - не переведено

http://www.mediafire.com/?6577uo1jdjs1zd1 (rip, 13mb)



Перевод тестировался только на ePSXe 1.7.0

Известные баги:
- Пираты не все шрифты перерисовали, поэтому в начале при загрузке игры будут кракозябры (3AGPY3KA C KAPTZ QAMRTN)
- Если после игры вернутся в главное меню и попытаться зайти в опции, игра виснет. Если заходить сразу после загрузки игры - всё нормально.

Ещё один баг, но не из-за перевода - при сборке полного образа в UltraIso, не проигрывается музыка из str файлов.

Тестерам (если найдётесь такие), просьба обращать внимание на корявость фраз и возможные опечатки. Буду рад, если найдётся человек, заинтересованный в более качественной перерисовке фонов и шрифтов.

Страницы: [1]