PDA

Просмотр полной версии : PARAM.HIS - История обновлений на PS3 + иконки


ErikPshat
01.06.2017, 04:04
PARAM.HIS - История обновлений на PS3

12937

PARAM.HIS - отвечает за список изменений в приложении, установленном на PS3. Чтобы посмотреть список изменений приложения, нужно на значке приложения нажать :triangle-ps3: и выбрать функцию "Update History" ("История обновлений"). Чтобы в приложении отображался список изменений, нужно скопировать файл PARAM.HIS в папку приложения, туда же, где находится файл PARAM.SFO.

Файлы PARAM.HIP являются «исходными» файлами (обычный текстовой файл, содержащий текст чейнжлога, который будет выводиться на экран). Обычно такой файл содержится в корневом каталоге Install_Package.pkg. Во время установки пакета система добавляет в начало «исходного» файла 10 байт, содержащих его метку времени (дата и время установки), и копирует его в папку игры как PARAM.HIS (рядом с PARAM.SFO).

Файлы PARAM_xx.HIP могут быть для разных языков, добавив номер в конец имени файла (например, PARAM_08.HIP для русского языка), система установит только тот, который соответствует языковым настройкам пользователя или по умолчанию PARAM.HIP, если другое не применимо.
Больше информации: ps3devwiki.com (http://www.psdevwiki.com/ps3/PARAM.HIS)

Вы можете написать в текстовике свою легенду для игры или прохождение, либо список читов, а вообще что угодно и сохранить его как PARAM.HIP, затем, с помощью утилиты hip2his.exe (https://www.pspx.ru/forum/attachment.php?attachmentid=12942) сконвертируйте его в PARAM.HIS и можете прилагать к игре. Имейте в виду, что при разрешении 1080p в строку помещается около 80 символов, а по высоте на одном экране отображается ровно 8 строк.

Команда конвертирования простая: hip2his.exe PARAM.HIP PARAM.HIS



Итак, мы уже усвоили, что PARAM.HIP - это обычный текстовой файл.
Примеры официальных файлов можно скачать из таблицы игр (https://www.pspx.ru/forum/showthread.php?t=106860) (в последней колонке - PARAM.HIP).
И мы уже усвоили, что PARAM.HIS - это тот же файл HIP, только с добавленными в начале 10 байтами метки времени.
Вот эти 10 байт, которые были обнаружены в первой поделке от deroad (см. скриншот в заголовке):

01000000004EF6597002

01 - это просто метка начала временного кода (1 байт).
000000004EF65970 - сам временной код (8 байт).
02 - это просто метка начала PARAM.HIP (1 байт).



Каким же образом генерируется временной код?
Этот вопрос меня мучал долгое время, т.к. он довольно часто встречается в разных программах.
Открою сразу секрет - это просто время, исчисляемое в секундах, а затем это число переводится в 16-ричный вид.
Причём отсчёт даты производится не от нуля, а от 1 Января 1970 года.

Давайте подсчитаем выше приведённые значения...

Переводим 16-ричное число 000000004EF65970 в десятичный вид: 1324767600 (секунд).
Мы знаем, что в 1 минуте - 60 секунд. Получаем 22079460 (минут).
В 1 часу - 60 минут. Получаем 367991 (часов).
В 1 сутках - 24 часа. Получаем 15332 дня 23 часа.
В 1 году - 365 дней. Получаем 42 года 2 дня 23 часа. Но не забываем, что каждые 4 года - високосный год, на 1 день больше.
Значит 41 год 357 дней 23 часа.
Прибавляем к исходной дате 01.01.1970. Получаем 24.12.2011 23 часа - это общемировое время UTC.
А если в Москве +3, тогда получается 25.12.2011 02:00.

Что мы и видим на скриншоте (дату и время): attachment.php?attachmentid=12929
А проще воспользоваться онлайн-калькулятором (http://www.timestampconvert.com/) времени.
И шестнадцатеричный онлайн-калькулятор (http://www.mathsisfun.com/binary-decimal-hexadecimal-converter.html), и ещё один (http://www.binaryhexconverter.com/decimal-to-hex-converter).
А это консольная утилита timestamp.exe (https://github.com/ErikPshat/timestamp/releases/latest), команда: timestamp.exe -u - сразу конвертирует текущую дату часов Windows в десятичном виде. Затем её следует инженерным калькулятором или онлайн-калькулятором перевести в 16-ричный формат.

Иконки в тексте (коды) (https://www.pspx.ru/forum/showpost.php?p=1116272)

ErikPshat
01.06.2017, 11:15
Ну проверьте плиз кто-нибудь, у кого кастом с Мультиком, там делов-то закинуть в папку с игрой пару файликов по несколько байт. И сделать скриншотик или фотиком. Мне нужно рассчитать, сколько символов помещается в строчку...
Вот для теста ещё один архив PARAM.HIS_test3.zip (http://www.pspx.ru/forum/attachment.php?attachmentid=12936) (оба файла из архива закинуть рядом с PARAM.SFO)

YAGAMI55
01.06.2017, 19:25
Ну проверьте плиз кто-нибудь, у кого кастом с Мультиком, там делов-то закинуть в папку с игрой пару файликов по несколько байт. И сделать скриншотик или фотиком. Мне нужно рассчитать, сколько символов помещается в строчку...
Вот для теста ещё один архив PARAM.HIS_test3.zip (http://www.pspx.ru/forum/attachment.php?attachmentid=12915) (оба файла из архива закинуть рядом с PARAM.SFO)

а для чего эта процедура?
покажет историю обновлений?

SergeSm
01.06.2017, 20:02
Ну проверьте плиз кто-нибудь, у кого кастом с Мультиком, там делов-то закинуть в папку с игрой пару файликов по несколько байт. И сделать скриншотик или фотиком. Мне нужно рассчитать, сколько символов помещается в строчку...
Вот для теста ещё один архив PARAM.HIS_test3.zip (http://www.pspx.ru/forum/attachment.php?attachmentid=12936) (оба файла из архива закинуть рядом с PARAM.SFO)

Файлы подхватывает из папки NPEB (патченая игра), в 720p строка чуть короче (заметно в последней надписи).
И на русском и на английском достаточно первого файла (PARAM.HIS)
attachment.php?attachmentid=12927 attachment.php?attachmentid=12928
Ну и 576p 4:3 (при игре на телеке по аналогу так же?) - в архиве 3 первых скрина последовательно...
(дальше там 18+;))
attachment.php?attachmentid=12929 attachment.php?attachmentid=12930 attachment.php?attachmentid=12931

ErikPshat
02.06.2017, 02:11
а для чего эта процедура?
покажет историю обновлений?
Официально да, файл используется для отображения чейнжлога изменений в патче.
А неофициально можно туда писать что угодно, например свой копирайт, а может быть список читов к игре, там сочетания клавиш или инструкцию по установке, по конвертированию, по прохождению и т.п.

Файлы подхватывает из папки NPEB (патченая игра), в 720p строка чуть короче (заметно в последней надписи).
И на русском и на английском достаточно первого файла (PARAM.HIS)
Спасибо большое за тесты и обстоятельно полный ответ!!!
Я просто видел чейнжлоги, написанные компактно коротко и по вертикали, думал это такой короткий диапазон по ширине. А тут оказывается вон как, в одну строку можно очень много написать и она переносится, а не уходит за экран. И я так думаю, что без конвертера hip2his тут не обойтись, который добавляет в начало 10 байт даты и времени, т.к. обычные файлы HIP консоль видимо не поймёт. А ведь эти HIP лежат у некоторых игр в патчах, а превращаются они в HIS на самой консоли при установке патча. А если мы сами конвертируем патч, то ведь никто почему-то в этой теме про то не говорил, что HIP нужно в HIS переделывать.
attachment.php?attachmentid=12932 attachment.php?attachmentid=12933
И спасибо krekx, за сделанные тоже фотки.
Кстати, PARAM_xx.HIS по регионам нужны для того, если у юзера выставлен японский язык, то он не увидит текст на русском в PARAM_08.HIS и наоборот, юзер с выставленным русским языком не увидит PARAM_00.HIS на японском.
Языковые коды (http://www.psdevwiki.com/ps3/Content_Information_Files#Languages).

YAGAMI55
02.06.2017, 13:33
Ну можно так же оставлять пометки, например номера телефонов для тех кто за денежку пишет игры или ссылку на сайт где скачана была игрушка
Кто релиз сотворил и т.д

ErikPshat
13.06.2017, 07:03
Ещё просьба, проверьте пожалуйста на отображение в тексте иконок...
Напоминаю: PAPAM.HIS из архива закинуть к любой игре рядом с PARAM.SFO и на значке игры нажать :triangle-ps3: и выбрать функцию "Update History" ("История обновлений").

SergeSm
14.06.2017, 07:12
Скрины иконок. В секции "Чат" некоторые иконки анимированные, в секции "Системные" - анимирована EFA2AB (заряд батарейки), в секции "Смайлы" - анимирована EF9085. Ну, это на всякий случай я написал)
13003130041300513006130071300813009130101301113012130131301413015130161301713018
TM™ - E284A2

CHAT:
attachment.php?attachmentid=13003attachment.php?attachmentid=13004
BUTTONS
attachment.php?attachmentid=13005
SONY LOGOS
attachment.php?attachmentid=13006
SYSTEM ICONS
attachment.php?attachmentid=13007
SMILES
attachment.php?attachmentid=13008
HAND SIGNS
attachment.php?attachmentid=13009
VEHICLES
attachment.php?attachmentid=13010
PLANTS & FOOD
attachment.php?attachmentid=13011
VEGETABLES/FRUIT
attachment.php?attachmentid=13012
SWEETS / GAMES - SPORT
attachment.php?attachmentid=13013
CLOCKS/PCS
attachment.php?attachmentid=13014
TOOLS
attachment.php?attachmentid=13015
MUSIC/BAGS/SHOES
attachment.php?attachmentid=13016attachment.php?attachmentid=13017
ARROWS / STAR SIGNS
attachment.php?attachmentid=13018

ErikPshat
14.06.2017, 10:26
SergeSm, спасибо большое :thank_you:!!! В который раз выручаешь!
Отлично, и иконки замечательно отображаются, и дата на первом скрине верно отображается, как было задумано.

Это иконки, которые заложены в шрифте прошивки PS3 dev_flash/vsh/resource/imagefont.bin
Иконки записывается в UTF-8 в текстовых строках и отображается в XMB, даже можно вставлять иконки в название игры в PARAM.SFO.

Как вставить иконку в текст?
Как видно на скриншотах выше, каждая иконка имеет 3-ёх байтовую нумерацию.
На компьютере мы их увидеть и напечатать в текстовом редакторе не можем.
Но, зная 3-ёх байтный код символа, мы можем вставить этот код через Хекс-редактор.
Для этого, нужно оставить в тексте расстояние для иконки ровно на эти же 3 байта, т.е. любые 3 буквы (каждая буква - это 1 байт)

Например, пишем в PARAM.SFO название игры: Metal Gear Solid ZZZ
Затем открываем PARAM.SFO в Хекс-редакторе и ищем эти буквы ZZZ - буква Z имеет код 5A, значит в коде мы увидим 5A5A5A
Заменяем эти 3 байта на код иконки, допустим сердечко - EF91A2
Вот и всё, код в бинарном файле PARAM.SFO не сдвинулся, а значит не испортился, зато иконка будет отображаться на PS3.

jekakmv
18.10.2018, 21:07
jekakmv, как не переходит? Мы же всё проверяли. Всё переходит.
на страницу не хочет переходить, в шапке!!!!

Итак, мы уже усвоили, что PARAM.HIP - это обычный текстовой файл.
Примеры официальных файлов можно скачать из таблицы игр в последней колонке (http://www.pspx.ru/forum/showthread.php?p=1115663)
И мы уже усвоили, что PARAM.HIS - это тот же файл HIP, только с добавленными в начале 10 байтами метки времени.
Вот эти 10 байт, которые были обнаружены в первой поделке от deroad (см. скриншот в заголовке):

ErikPshat
19.10.2018, 00:35
jekakmv, а-а-а, исправил ссылку в шапке.

jekakmv, кстати, вспомнил раздачу, про которую я говорил со встроенным HIS - это GTA V (http://www.pspx.ru/forum/showpost.php?p=1116543) (там в спойлере скриншотики есть).

jekakmv
20.10.2018, 12:52
https://preview.ibb.co/hku2GL/2018-10-20-12-49-22.png
:unknw: не хочет работать попробую вечером на другом ноуте.
скачал libz-1 dll установил перезагрузил ноут, запустил через cmd. Все заработало:good:


Первым делом:
Скачайте библиотеку - скачать libz-1.dll (http://internetaccessmonitor.ru/dll/libz-1.dll)

Затем:
Поместите libz-1.dll в одну из следующих папок:

Если у вас 64-битная версия Windows, то поместите файл в:
"C:\Windows\SysWOW64"

Если у вас 32-битная версия Windows, то поместите файл в:
"C:\Windows\System32"

После этого
Перезагрузите компьютер, чтобы изменения вступили в силу.

ErikPshat
20.10.2018, 15:31
jekakmv, у тебя просто MinGW - Minimalist GNU for Windows (https://sourceforge.net/projects/mingw/) не установлен. Правда это пакет для программистов, это мостик Linux под Windows, он и содержит основную коллекцию библиотек для создания и разработки программ.

Alundra
22.03.2020, 15:43
hip2his.exe не запускается ни в какую. libz-1.dll установил, ошибка выскакивать перестала, но при запуске на секунду выскакивает черное CMD-окошко и всё на этом.
Менеджер установщик MinGW - Minimalist GNU for Windows тоже установил, но не все пакеты т.к. их там просто тьма.
Может быть подскажете какие пакеты нужны для того, чтобы hip2his.exe запустился?

ErikPshat
23.03.2020, 04:05
hip2his.exe не запускается ни в какую. libz-1.dll установил, ошибка выскакивать перестала, но при запуске на секунду выскакивает черное CMD-окошко и всё на этом.
Просто установи PS3 Tools Collection (https://www.pspx.ru/forum/showthread.php?t=106441), соблюдая там красные Особые требования.
Зайди в папку C:\PS3\ps3tools\tools\EDAT_ReENCRYPT, закинь тескстовой файл PARAM.HIS в папку ENC и запусти там батник HIP2HIS.BAT

Менеджер установщик MinGW - Minimalist GNU for Windows тоже установил, но не все пакеты т.к. их там просто тьма.
Да никакая там ни тьма, а всего всё вместе взятых 348 МБ. Это по меркам нынешнего дня, тьфу, копейки.
Только после установки нужно не забыть добавить пути к папкам с исполняемыми файлами в "Переменные среды" в PATH.
Это путь к папке C:\MinGW\bin и C:\MinGW\msys\1.0\bin
Это нужно для того, чтобы все линуксовые исходники на Винде компилировались компиляторами MinGW и Msys.

Может быть подскажете какие пакеты нужны для того, чтобы hip2his.exe запустился?
Она требует парочку DLL из пакета MinGW:

libgcc_s_dw2-1.dll или libgcj-11.dll
libz-1.dll

И всё, но это всё есть в PS3 Tools Collection.

P.S. А чем не угодило вложение из шапки PARAM_HIS_AUTO_MAKER.7z? Там же все нужные DLL есть :)