|
PSP хакинг и девелопмент Взгляд изнутри |
09.02.2011, 15:52
|
Сообщение: #1 (940617)
|
Модель консоли: PSP-1004
Прошивка: 6.60 PROMOD
Другие консоли: iPad 3 WiFi
Регистрация: 18.12.2006
Адрес: Москва
Возраст: 57
Сообщений: 46,560
Вы сказали Спасибо: 27,211
Поблагодарили 42,752 раз(а) в 12,212 сообщениях
Сила репутации: 10Репутация: 41947 
(репутация неоспорима)
|
Меняем цвета и расположение текста в программах
Эмм. Тут меня попросили показать, как менять цвет и позиции меню в переводе.
Покажу на небольшом примере...
Для примера я взял VSH Menu для 5.03 Prometheus-4, которое фактически не изменилось, а осталось нетронутым от 5.03 GEN-C.
Вот на скрине уже готовый вариант. А как это делалось, читайте ниже...
[img]http://img204.**************/img204/3434/screenshot06j.png[/img]
Например, разберём цвет правого столбца VSH MENU- Цвет, как известно состроит из 4-ёх составляющих - RGBA - это Красный(Red)-Зелёный(Green)-Синий(Blue)-Прозрачность(Alpha)
- В файле обычно они идут попарно RG и BA. Вот эти смещения и нужно искать.
- В оригинале мы видим, что шрифт написан белым шрифтом и непрозрачным.
- Белый цвет получается при смешении 3-ёх чистых основных цветов RGB.
- Каждый цвет имеет максимум 256 градаций (оттенков).
- То есть, из трёх цветов можно получить максимум 256х256х256=16'777'216 тонов - если встретите такой монитор, поддерживающий такое количество цветов, то смело берите ))), потому что бывают урезанные модели по цветопередаче.
- Так как мы будем иметь дело с цифрой, то в шестнадцатеричном виде, максимальное количество градаций одного цвета 256 будет равно FF.
- Значит белый цвет будет выглядеть так: FF FF FF 00 (на конце 00 - это нулевая прозрачность Alpha) RGBA.
- А так как в файле цвет записан попарно, то и нужно искать две пары: FFFF и FF00.
Вот некоторые понятия уже проясняются.
Теперь я просто поменяю, для примера, цвет шрифта правого столбца, например на красный.
Чтобы сделать цвет красным, нам нужно выставить красный R на максимум, а остальные цвета просто погасить на ноль.
Находим смещения FFFF и FF00:
[img]http://img46.**************/img46/5368/sateliteprx.png[/img]
Выставляем красный на максимум FF, а остальные обнуляем:
[img]http://img64.**************/img64/4562/sateliteprxred.png[/img]
Смотрим результат:
[img]http://img204.**************/img204/7877/screenshot00x.png[/img]
Например, разберём смену позиции VSH MENU- Позиция, как известно, то-же записывается шестнадцатеричными значениями.
- По горизонтали мы имеем разрешение 480 пикселей. Это значит, что каждый пиксель имеет свою собственную координату.
- Но так как максимальное значение в шестнадцатеричном измерении является число FF, равное 256, а нам нужно 480 значений, то тут применяется 2-значное исчисление, т.е. FF FF (как максимум), что позволяет достичь значителього количества = 65536.
- Следует учесть, что одна буква дебаг-шрифта, который мы имеем в данном VSH, составляет 8 пикселей по ширине и столько-же по высоте.
- Чтобы найти в файле это значение, я просто на листочке в клеточку отметил расстояние от края экрана до начала меню, а затем отмерил количество символов в первой строке самого меню.
- У меня получилось расстояние от края до меню ровно 17 букв. Если учесть, что одна буква 8 пикселей, значит расстояние от края 17х8=136!
- А десятичное число 136 в шестнадцатеричном исчислении получается, как 88.
- Но так как мы уже знаем, что экран у нас на 480 пикселей и шестнадцатеричные значения записываются 2-значными числами, значит наше смещение будет иметь вид: 8800!!!
- Допустим мы хотим сдвинуть меню вправо на 12 букв. Получается 12х8=96 пикселей. Но ещё от начала у нас 136 пикселей(17 букв), значит получается отступ от края на 96+136=232 пикселя. В хексе это записывается, как E8, вернее E800.
Ищем это значение 8800 в файле:
[img]http://img155.**************/img155/7551/sateliteprxleft.png[/img]
Заменяем на E800:
[img]http://img832.**************/img832/9905/sateliteprxright.png[/img]
Смотрим результат:
[img]http://img204.**************/img204/6237/screenshot03e.png[/img]
Ну и ещё чуть побаловавшись:
[img]http://img13.**************/img13/2508/screenshot07i.png[/img]
Добавлю ещё, что каждый блок двигается отдельно, причём правый столбик так-же двигается независимо от левого. Чтобы найти все эти смещения - тут уже всё напрямую зависит от вашей сообразительности.
ErikPshat © PSPx.Ru
Последний раз редактировалось ErikPshat; 18.02.2011 в 13:30.
|
|
|
Эти 8 пользователя(ей) сказали Спасибо ErikPshat за это полезное сообщение:
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 05:44. Часовой пояс GMT +3.
Powered by vBulletin® Version 3.8.7 Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.
|
|
|