PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   Тюнинг интерфейса PSP (https://www.pspx.ru/forum/forumdisplay.php?f=109)
-   -   [Делаем] Цветной шрифт в меню XMB на ОЕ-прошивках. (https://www.pspx.ru/forum/showthread.php?t=40757)

ErikPshat 25.04.2007 08:22

[Делаем] Цветной шрифт в меню XMB на ОЕ-прошивках.
 
Делаем цветной шрифт в ОЕ прошивках.

Открою небольшой секрет, откуда всё начиналось.
Все действия по расшифровке цветовой схемы шрифтов происходило буквально на днях на новом сайте ZiNgA BuRgA - известного разработчика программы "RCO Editor".
Проследить за развитием событий и помочь в деле полной расшифровки цветовой схемы всех шрифтов вы можете в ЭТОЙ теме.


В стандартных приставках Sony PSP все шрифты меню отображаются только белым цветом. Но оказывается их расцветку тоже можно менять практически на любой другой цвет, что придаёт больше экстравагантности приставке и её обладателю. Вот примитивный пример, как выглядет шрифт после изменения цвета шрифта:

http://v.foto.radikal.ru/0704/a3/3df47528907a.jpg http://v.foto.radikal.ru/0704/d1/e00f81bd5829.jpg

Файл, в котором записаны данные о цветах шрифтов меню называется "vshmain.prx" и находится он в папке "flash0:/vsh/nodule". Так же в этом файле можно менять месторасположение иконок батареи, часов, даты и прочее. Название файла "VSHmain.prx" само за себя говорит и расшифровывается как "Важная часть меню XMB".
Но этот файл трогать и изменять нельзя, так как он закриптован и тесно связан с другими файлами. Нужно воспользоватся другим методом, чтоб обойти защиту, а просто сделать перенаправление на другой такой же, только декриптованный файл, с которым можно безопасно производить любые действия.

Я проводил эксперименты только пока на прошивке 3.40 ОЕ-А и люди, которые параллельно этим занимались, тоже пользовались ею, так как цветовой код вначале был обнаружен именно на этой прошивке. Хотя, скорее всего, в прошивках 3.10 ОЕ и 3.30 ОЕ всё должно быть по аналогии, только декриптовать "vshmain.prx" надо от соответствующей прошивки.

Для того, чтобы менять цвета шрифтов в меню XMB необходимо будет для начала извлечь и декриптовать файл vsgmain.prx из официальной прошивки и затем можно по своему усмотрению править биты в шестнадцатеричном HEX-редакторе.

1. Скачайте сначала официальную прошивку "EBOOT.PBP", соответствующую вашей ОЕ и того же региона.
2. С помощью "PBP Unpacker" извлеките из неё файл прошивки "DATA.PSAR".
3. Затем скачайте программку "PSARdumper330", разархивировав закиньте папку "PSARdumper330" на MemoryStick в папку ms0:/PSP/Game150, а файл "DATA.PSAR" положите в корень карточки памяти.
Затем идите в меню "Игра->MemoryStick" и запустите оттуда программу "PSAR Dumper V3". Нажмите "Х" (крестик) для запуска процесса извлечения файлов оригинальной прошивки. По окончании программа сама выключится и выйдет в меню XMB.
Обратите внимание, что папок "kn" и "vsh/nodule" из ОЕ-прошивок в оригинальной прошивке не существует, но они схожи по названию с папками "kd" и "vsh/module" в оригинальной прошивке. А если посмотреть "flash0" в ОЕ-прошивке, то вы эти папки "kn" и "nodule" там увидите. Дело в том, что Dark_Aleks сам создал эти папки и большую часть файлов перенёс в них и переписал пути, таким образом обойдя защиту.

Так что ни в коем случае не перепутайте названия этих папок и ни в коем случае никогда не трогайте и не изменяйте файлы в папках оригинальной прошивки "kd" и "vsh/module", которые так же присутствуют в ОЕ-прошивках.

4. Итак, извлекли содержимое файла "DATA.PSAR". Подключаем приставку к компьютеру и видим в корне MemorySticka появившуюся папку "F0" в которую и распаковались все папки с файлами оригинальной прошивки.
Зайдите в папку "F0/vsh/module", заберите оттуда оригинальный файл "vshmain.prx" и сохраните на компьютере. Папка "F0" нам больше не понадобится и её можно удалить с карточки памяти.
Но это ещё не всё. Этот файл пока что нельзя использовать, так как он закриптован. Теперь надо его декриптовать.

5. Скачайте программу "PRX Decrypter v1.3".
Из папки "1.00-style eboot" возьмите папку "prxdecrypter" и скопируйте её на MemoryStick в папку ms0:/PSP/Game150.
В корне MemoryStick создайте папку "enc" и скопируйте туда файл "vshmain.prx" (110Кб).
Запустите программу "prxdecrypter 1.3" из меню "Игра->MemoryStick", затем начните дешифровку, нажав "X" (крестик). Процесс будет длится не более 1-ой секунды. По окончании нажмите кнопку "HOME", для закрытия программы и выхода в XMB.

6. Переместите папку "enc" на компьютер, внутри которой лежит уже готовый расшифрованный файл "VSHMAIN.PRX" (337Кб) и переименуйте его в "vsh.prx". Обратите внимание, что закриптованный файл весил 110 Кб, а раскриптованный теперь весит 337 Кб.

7. Этот переименованный файл "vsh.prx" скопируйте во "flash0:/vsh/nodule", где так же лежит аналогичный закриптованный "vshmain.prx", который шел с ОЕ-прошивкой. Не перепутайте случайно названия папок nodule и module !

8. Перейдите в папку "kn" в корне "flash0" и откройте там текстовой файл "pspbtcnf.txt".
Добавьте строчку "/vsh/module/vshmain.prx" под строкой "/kd/vshctrl.prx".
А самую последнюю строчку "$%%/vsh/module/vshmain.prx" замените этой "$%%/vsh/module/vsh.prx".
Закройте файл и сохранитесь. Смотрите рисунок ниже:

http://s.foto.radikal.ru/0704/42/4a413eee2477.png

Ну вот, все приготовления закончены, теперь мы наизусть знаем, что где лежит и когда понадобится поменять цвет шрифта, мы знаем где искать наш родной уже файл "vsh.prx".

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Теперь, когда надо поменять цвет шрифта, берём наш раскриптованный "vsh.prx" и открываем его в любом HEX-редакторе.
В нашем случае в HEX Workshop.

Начало цветового диапазона (vshmain.prx) на разных прошивках начиная с Января красного цвета.

Offsets:
Прошивка 3.40 ОЕ - 0x37780 Красный канал(float), 0x37784 Зелёный канал(float), 0x37788 Синий канал(float) и т.д.
Прошивка 3.30 ОЕ - 0x378B8 Красный канал(float) и т.д.
Прошивка 3.10 ОЕ - 0x376E8 Красный канал(float) и т.д.
Прошивка 3.03 ОЕ - 0x370D0 Красный канал(float) и т.д.

Здесь рассматривается пример для прошивки 3.40 ОЕ.
Для остальных прошивок всё абсолютно аналогично, только "Start offset" будет начинаться с другой позиции, указанной выше.

http://t.foto.radikal.ru/0704/67/456e30556d5b.png

Практически вся инструкция находится на этом скрине для 3.40 ОЕ.
Но если вам ни о чём не говорят все эти цифры, то давайте продолжим изучение этого HEX-редактора.

Для начала немного проясню, что означают эти цифры.
Люди в повседневном быту привыкли использовать десятичную систему исчисления. Видимо это связано с тем, что на руках у человека всего 10 пальцев и поэтому нам не составляет труда умножать и делить на 10. Но если бы у нас было 16 пальцев, то наверняка мы бы легче производили действия с 16-тью, чем сейчас с 10-тью. Например в уме могли бы делить и умножать на 16 не задумываясь. Но нас конечно сейчас эти вычисления поставят в тупик, так как мы не привыкли с рождения к такой системе исчисления, и в сантиметре у нас 10 миллиметров, а не 16...

В десятичной системе, как известно, существует десять базовых чисел: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. На их основе мы можем составлять числа до бесконечности и производить с ними любые арифметические действия.

То же самое происходит и в шестнадцатеричной системе, только в ней имеется 16 базовых чисел.
Вот эти числа: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F - итого 16 чисел включая НОЛЬ.
После 9-ти, в сравнении с десятичной системой следует A=10, B=11, C=12, D=13, E=14, F=15.
Это основной ряд однозначных чисел в шестнадцатеричной системе исчисления.
Далее счет продолжается как и положено 10=16, 11=17, ..., 19=25, 1A=26, ..., 1F=31, далее 20=32, ..., 2F=47..........FF=255. Вот мы и пришли к последней точке отсчёта. FF - максимальная двухразрядная величина, которая в десятичной системе равна 255. Ровно столько градаций одного цвета существует в системе RGB, где один определённый цвет состоит из сочетания трёх базовых цветов R-красный, G-зелёный, B-синий.
Ну вот, дальше я расписывать тут диссертацию не буду, а давайте перейдём лучше сразу к делу. Главное мы научились считать в шестнадцатеричной системе.

Цветовой код в файле vsh.prx записан, как нарисовано в верхней части скрина, в следующих пределах...

Start offset: 37780 - начальная точка кода
End offset: 3780F - конечная точка кода включительно

Что означают эти цифры?
Это просто идёт в шестнадцатеричной системе отсчёт по порядку двухразрядных чисел кода - от 00000000 до конца. Считать то мы уже научились.
Этот отсчёт показывается в первом левом столбце и отображает порядковый номер двухразрядного числа находящегося в начале каждой строки. В простонародье передние нули отбрасываются или записываются так: 0х37780, а в таблице мы видим 00037780.
Итак, запустив программу HEX Workshop и открыв наш декриптованный файл vsh.prx, мы видим в главном среднем окне коды файла, отображающиеся по умолчанию как 8 колонок попарно соединённых двухразрядных чисел, что составляет 16 двухразрядных чисел, как и положено предоставлять информацию шестнадцатеричному редактору.
Но нам такое представление будет не очень удобно, так как нам надо менять цвет одного месяца, состоящий из совокупности трёх цветов - по две колонки на каждый цвет.
Поэтому нам удобнее будет сузить среднее окно до шести столбцов, как показано на рисунке полупрозрачной изогнутой фиолетовой стрелочкой.
Теперь надо найти начальную точку кода. Возьмите справа полосу прокрутки мышкой и протяните её чуть ниже середины, пока в левом столбце не увидите заветную цифру 0003777С. Вот в этой строчке и находится начало цветового кода. Эта цифра указывает на номер позиции первого двухразрядного числа в этой строке - А4.
Поставьте курсор перед этим числом и стрелкой вправо на клавиатуре перемещайтесь, пока не дойдёте до цифры 00037780.
Это число вы будете отслеживать, наблюдая за позицией в самой нижней части программы. Смотрите как написано на рисунке красными буквами "Начальная точка отсчёта - offset: 00037780". Отсюда начинается информация о красном цвете Января месяца, далее идёт зелёный цвет Января месяца и переходит в первый столбик синего цвета Января месяца на новой строчке. Эти три цвета при перемешивании задают один цвет шрифта Января месяца. Справа на рисунке я нарисовал какому месяцу, какая строчка соответствует, только надо учесть, что синий цвет в первом столбце на одну строчку находится ниже. Ну это сразу понятно из рисунка.

Допустим, решили вы поменять цвет шрифта в Январе месяце на красный цвет.
Чтобы сделать красный цвет, нам надо поменять значения трёх цветов RGB - Красный-Зелёный-Синий. Для этого нужно оставить только красный цвет, а зелёный и синий выкинуть.

Поставьте курсор на первый Красный цвет Января месяца - offset: 00037780.
Затем в нижнем левом окошке найдите значение "Float", как показано на рисунке пунктирными фиолетовыми стрелочками и щёлкните дважды мышкой на значении напротив этого "Float". По умолчанию там стоит 0.94 (дробная запятая пишется как точка).
Значения цвета могут быть от 0 (нуля) до 1.
Введите цифру 1 и нажмите Enter, вы увидите как значения в коде программы изменятся
Затем переведите курсор на Зелёный цвет Января месяца - offset: 00037784.
Опять щёлкните дважды в нижнем левом окошке на значении "Float" и введите цифру 0, так как зелёный цвет нам надо выкинуть из смешивания, нажмите Enter.
Теперь перейдите к следующему Синему цвету Января месяца - offset: 00037788.
Щёлкните дважды в нижнем левом окошке на значении "Float" и введите цифру 0, так как Синий цвет нам надо выкинуть из смешивания, нажмите Enter.
Так же меняются цвета и во всех остальных месяцах.

Какие именно цифры вводить в поле "Float" для изменения других сочетаний цветов подробно написано в этой теме - Делаем цветные - SCE, иконки батареи, даты, времени и пр.

ErikPshat 27.04.2007 06:05

Тема затачивалась под 3.40 ОЕ-А Европейской версии прошивки.
На других прошивках не тестировал. Проверяйте сами.

http://s.foto.radikal.ru/0704/3d/7b6f28c7af8b.png http://s.foto.radikal.ru/0704/56/8b7e03750fb6.png

Скачать - в архиве приятный сюрпрайzzz - "1._Editer_fonts_vshmain.prx.rar" для тех, кто не имеет желания всё делать своими ручками и наверняка.
Читайте инструкцию в каждом архиве.

mordvin 27.04.2007 07:03

не могу установить поменялось только батарея и менюшка почемуто почернела че делать?

добавлено через 5 минут
выложи top menu другое

mordvin 27.04.2007 20:04

извени все поставил только папку kn не установил у меня 3,40 скачал здесь на сайте мне нужна папка top menu какая у тебя установлена от 25,04,07. просто у меня была точно такая же на 3,03 а после обновления на 3,40 стоят обычные которые просто не нравятся. выложи пожалуйста именно тот файл

Dimon12345 28.04.2007 12:57

Давайте сюда выкладывать свои творения
http://v.foto.radikal.ru/0704/05/d3828bd867b5.jpg
вот так это выглядит но когда заходишь в юзб там белый шрифт а так все остальное красное

ErikPshat 28.04.2007 13:23

О! Приветствуем первого ученика!

А то тишина стоит гробовая который уже день. Видать никого не интересует эта тема :)
Хотя куда ни глянь, все рисуются своими белыми шрифтами. Гы! Гы! Гы!

isergl 28.04.2007 16:55

ErikPshat http://pspx.ru/forum/images/statusicon/user_online.gif
как я понял фон на заднем плане должен быть разрешения 300 на 170 а другой никак?

ErikPshat 28.04.2007 19:10

Цитата:

Сообщение от isergl (Сообщение 413427)
ErikPshat http://pspx.ru/forum/images/statusicon/user_online.gif
как я понял фон на заднем плане должен быть разрешения 300 на 170 а другой никак?

Это максимум, что я выжал. Но получалось и больше, только когда поставил крупные 32bit иконки, некоторые стали белыми, поэтому на 300х170 проблем с крупными иконками точно не будет.
Попробуй больше, каждый под своё меню подстраивается.

добавлено через 11 минут
Цитата:

Сообщение от mordvin (Сообщение 412726)
извени все поставил только папку kn не установил у меня 3,40 скачал здесь на сайте мне нужна папка top menu какая у тебя установлена от 25,04,07. просто у меня была точно такая же на 3,03 а после обновления на 3,40 стоят обычные которые просто не нравятся. выложи пожалуйста именно тот файл

Выложил topmenu_plugin, который ты просил.

А папку "kn" надо было ставить иначе цветные шрифты не увидишь. В ней прописан путь к vsh.prx, в котором 12 цветов шрифтов заложены.

Snoppy D.O.G. 28.04.2007 19:27

Цитата:

Сообщение от Lokos (Сообщение 413339)
+1. Сделайте черный плиз =)

В архиве есть!:yahoo:

isergl 28.04.2007 19:58

SplitFiles пишет ошибка приложения :(

ErikPshat 29.04.2007 15:47

Цитата:

Сообщение от isergl (Сообщение 413658)
SplitFiles пишет ошибка приложения :(

Ошибку выдаёт, когда пытаешься склеить, поэтому я использую Батничек для склейки. Там скорее всего надо правильные названия файлов делать, пока не разбирался, нет ни времени ни желания.
А разбирать должен без проблем.

isergl 29.04.2007 16:05

как раз наоборот, не расклеивает

ErikPshat 29.04.2007 16:45

Не может быть.
Щас скачал по новой, всё работает.
Вообще любые файлы разрезает на сколько угодно частей, не обязвтельно даже картинки.
Попробуй заново закачать, может он скачался битый, несколько байт могут потерятся при закачке.
Если не поможет, то ищи проблему в своей системе. Установи все до одного обновления.
Бывает некоторые .NET Framework не устанавливают, от этого некоторые программы и игры не работают...

isergl 29.04.2007 17:05

обнаружена ошибка...бла-бла приложение будет закрыто

isergl 29.04.2007 17:56

а есть другие проги для расклеивания и склеивания

flat out 29.04.2007 18:33

а нельзя ли взять файл bmp в разрешение как экран зыз и переименовать в 01-12 ?? и почему?

isergl 29.04.2007 18:57

можно,но тогда остальные темы в настройках будуть белыми квадратиками

flat out 29.04.2007 19:01

получается что 1,2,3,4,5,6,7,8,9,10,11,12. это темы в настройках?? или ты имел введу что волны не будут работать??? и кстати какой файл отвечает за волны??

ErikPshat 29.04.2007 19:16

Цитата:

Сообщение от flat out (Сообщение 414522)
а нельзя ли взять файл bmp в разрешение как экран зыз и переименовать в 01-12 ?? и почему?

Нельзя. У тебя совсем во всех 12-ти темах будет весь экран белый.
Цитата:

Сообщение от isergl (Сообщение 414543)
можно,но тогда остальные темы в настройках будуть белыми квадратиками

Нельзя.

@ flat out Так, как ты хочешь делать, можно только взять BMP 480x272, изменить размер до BMP 460х261 (будет 300 Килобайт).
Тогда будет только первая цветовая тема показывать, а на остальных будет весь белый экран.
Я об этом же вроде выше рассказывал, зачем опять переспрашивать.

Но лучше сделать как я выше описывал.
Сделать картинку BMP 480х272 (~20 Килобайт) с идентичным качеством, как настоящий BMP 480x272 (380 Килобайт), если вы не собираетесь менять в настройках цветовые темы каждый день.
Или приклеить 12-тую картинку 300х170 (~20 Килобайт), тогда будет одна картинка более-менее качества + 11 стандартных или кастомных цветовых тем.

isergl 29.04.2007 19:21

Цитата:

Сообщение от flat out (Сообщение 414546)
получается что 1,2,3,4,5,6,7,8,9,10,11,12. это темы в настройках?? или ты имел введу что волны не будут работать??? и кстати какой файл отвечает за волны??

волны будут работать,SUSTEM_PLUGIN_BG.RCO

добавлено через 2 минуты
Цитата:

Сообщение от flat out (Сообщение 414546)
получается что 1,2,3,4,5,6,7,8,9,10,11,12. это темы в настройках?? или ты имел введу что волны не будут работать??? и кстати какой файл отвечает за волны??

если их можно назвать темами(просто фон одноцветный в каждой теме и шрифт с таким же оттенком)


Текущее время: 15:50. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.