Описание: Доделать перевод |
Поиск в теме | Версия для печати |
alex_231 |
Отправлено: 08 Сентября, 2017 - 16:06:54
|
Chief-Net
Покинул форум
Сообщений всего: 4688
Дата рег-ции: Окт. 2014
|
По порядку не получится, так как все надписи сделанные большим шрифтом хранятся в блоке по адресу x3B000 в перемешку с текстом описаний союзников и другим текстом.
На один символ надписи отведено 4 байта, первая пара определяет положение символа на экране, вторая пара - первый тайл в видеопамяти, с которого начинается отрисовка символа: набор тайлов для каждого символа задается программно: программа берет вторую пару, записывает её в видеопамять и за три шага увеличивает её первый байт на один, при этом в каждый шаг полученное значение также записывается в видеопамять.
Например, если рассмотреть первые 4 байта блока (26 5D 09 20), вторая пара (09 20) показывает, что первым тайлом символа будет тайл с кодом 09 - это верхний левый тайл буквы "C", затем поочередно увеличивая этот байт программа запишет в карту остальные байты этой буквы (0A 0B 0C).
Поэтому оптимизировать шрифт по повторяющимся тайлам разных букв не получится, нужно рисовать каждую букву целиком.
По адресу x57F1 находятся длины названий союзников (длина указана в байтах данных, а не в буквах), по 2 байта на штуку, в порядке появления.
А следом с адреса x5801 идут поинтеры на названия союзников, трехбайтовые.
Ром LoROM, поэтому адресация своеобразная.
Для того, чтобы увеличить количество символов, копируемых в шрифт на титульном экране нужно поправить два байта по адресу x4CA5 - они задают количество копируемых байтов.
Поинтер на "TOP" - x260F.
На "OPTION" поинтера нет, это единая надпись вместе со "START" и "TM", строится также как и надписи большим шрифтом, только по одному тайлу на символ, а так координаты задаются перед каждым тайлом отдельно. На всю эту структуру (STARTOPTIONTM) поинтер задается программно: младший байт - x4D15, старший - x4D1A, количество байт - x4D10.
----- Делая выбор, отбрось простое решение и выбери правильное...
|
|
|
|
Поиск в теме | Версия для печати |
Страниц (1): [1] |
Сейчас эту тему просматривают: 6 (гостей: 6, зарегистрированных: 0) |
« Переводы » |
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
|
|
|