ErikPshat
09.02.2011, 15:52
Эмм. Тут меня попросили показать, как менять цвет и позиции меню в переводе.
Покажу на небольшом примере...
Для примера я взял VSH Menu для 5.03 Prometheus-4, которое фактически не изменилось, а осталось нетронутым от 5.03 GEN-C.
Вот на скрине уже готовый вариант. А как это делалось, читайте ниже...
http://img204.**************/img204/3434/screenshot06j.png
Например, разберём цвет правого столбца 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:
http://img46.**************/img46/5368/sateliteprx.png
Выставляем красный на максимум FF, а остальные обнуляем:
http://img64.**************/img64/4562/sateliteprxred.png
Смотрим результат:
http://img204.**************/img204/7877/screenshot00x.png
Например, разберём смену позиции 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 в файле:
http://img155.**************/img155/7551/sateliteprxleft.png
Заменяем на E800:
http://img832.**************/img832/9905/sateliteprxright.png
Смотрим результат:
http://img204.**************/img204/6237/screenshot03e.png
Ну и ещё чуть побаловавшись:
http://img13.**************/img13/2508/screenshot07i.png
Добавлю ещё, что каждый блок двигается отдельно, причём правый столбик так-же двигается независимо от левого. Чтобы найти все эти смещения - тут уже всё напрямую зависит от вашей сообразительности.
ErikPshat © PSPx.Ru
Покажу на небольшом примере...
Для примера я взял VSH Menu для 5.03 Prometheus-4, которое фактически не изменилось, а осталось нетронутым от 5.03 GEN-C.
Вот на скрине уже готовый вариант. А как это делалось, читайте ниже...
http://img204.**************/img204/3434/screenshot06j.png
Например, разберём цвет правого столбца 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:
http://img46.**************/img46/5368/sateliteprx.png
Выставляем красный на максимум FF, а остальные обнуляем:
http://img64.**************/img64/4562/sateliteprxred.png
Смотрим результат:
http://img204.**************/img204/7877/screenshot00x.png
Например, разберём смену позиции 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 в файле:
http://img155.**************/img155/7551/sateliteprxleft.png
Заменяем на E800:
http://img832.**************/img832/9905/sateliteprxright.png
Смотрим результат:
http://img204.**************/img204/6237/screenshot03e.png
Ну и ещё чуть побаловавшись:
http://img13.**************/img13/2508/screenshot07i.png
Добавлю ещё, что каждый блок двигается отдельно, причём правый столбик так-же двигается независимо от левого. Чтобы найти все эти смещения - тут уже всё напрямую зависит от вашей сообразительности.
ErikPshat © PSPx.Ru