Home » Articles » PSX Manuals |
Поиск статичных данных в PSX играх: Автор: Mr2 * При копировании данного материала на другие сайты, обязательно указывайте ссылку на оригинал. Необходимые программы: 1.Code Marker - отметка отработанного кода и используемых переменных. Обозначения: Допустим мы решили перевести Dino Crisis на русский язык, утерев нос горе переводчикам 90-ых. И всё у нас гладко, но вот беспокоит нас одна проблема. Текстурка слова EASY немного меньше слова ЛЕГКО. Недолго думая мы достаём джокера из рукава... Для поиска координат и размера, будем использовать Code Marker и дебаггер для проверки переменных. * Этим способом не удастся отыскать данные зашитые в код игры. Запускаем игру через Code Marker, как только появится главное меню, жмём кнопку F11 и включаем разметку.(устанавливаем переключатель на Mark at start) Жмём кнопку Continue. Ждём когда слово NEW GAME мигнёт 50 раз. Это нужно чтобы прописались все не интересующие нас данные. Вызываем окно CM клавишей F11, и сохраняем маркированные данные под номенром 1. *Кнопка "Save marks", сохраняет разметку в папку эмулятора dump\.
*В файле 1_ code_marked.bin у нас размеченные данные до входа в меню новой игры, а в 2_ code_marked.bin разметка после входа в меню. Сравниваем маркировку. Нас интересуют маркеры чтения 01, на остальные не обращаем внимания. По адресу $80019704 находим первое чтение данных, после перехода в меню выбора сложности. Для того чтобы узнать за что отвечают эти данные, нужно поменять их на любые другие. Через дебаггер меняем данные по адресу $80019704 и смотрим результат. *Кнопка "Run >", снимает эмуляцию игры с паузы. После присвоения 0x25, мы выясняем что наткнулись на координаты вывода по оси X. А это не то что нам нужно. Продолжаем проверять следующие данные, пока не находим интересующие нас значения по адресу $100000. Меняем $80100000 на 0x25. И видим что поменялось начало копирования текста на экран . А это значит что где-то рядом и ширина текста. Меняем $80100002 на 0x29 и видим что поменялась ширина копируемого на экран текста. Ищем нужную комбинацию байт "e000201021010000" в файле TITLE.DAT, и с лёгкостью попадаем на нужные данные f$2c801. Но просто так эти данные менять нельзя, так как файл сжат. Разжимаем файл с помощью Dino archiver. Archive offset: 2C800 Меняем ширину и координаты копируемого текста. Запаковываем. Вставляем архив обратно в файл TITLE.DAT. Исправляем размер архива и радуемся.(предварительно перевернув байты)
| |
Views: 1278 | |
Total comments: 0 | |