PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   Русификация игр и софта для PSP (https://www.pspx.ru/forum/forumdisplay.php?f=190)
-   -   Системный шрифт PSP (https://www.pspx.ru/forum/showthread.php?t=102816)

frostegater 25.12.2012 18:43

lupus, есть.. да там легко.. завтра сделаю

lis5131 25.12.2012 18:44

С жатием разобрался. А вот написать такой плагин было бы не плохо. Не селен я в с++.
Нашел там только одну строчку касающуяся ltn0.pgf - заменил на ltn12.pgf. И все равно он меняет основной системный шрифт.

lupus 25.12.2012 20:04

Цитата:

Сообщение от frostegater (Сообщение 1059664)
lupus, есть.. да там легко.. завтра сделаю

Спс. Тут ещё такая идея возникла, можно ли запилить не плагин, а модуль, чтобы его в образ класть вместо eboot.pbp, и сначала он грузился, а затем родной eboot?

ErikPshat 25.12.2012 20:05

Цитата:

Сообщение от lis5131 (Сообщение 1059614)
ErikPshat, а чем ты запаковывал назад. Я пробовал 7z(9.20) - у меня повис.

Чем запаковывать не имеет значения. Я так же пакую через 7-ZIP.
Методом подбора "Уровня сжатия", а затем более тонко "Размера слова", регулирую размер выходного архива, чтобы он был приближен по размеру к исходному.
Название сжимаемого файла ессно должно быть, как в исходном, записанном в заголовке (TEXT060.dat).

Скрин
[IMG]http://img707.**************/img707/2938/gzip.png[/IMG]

Потом вставляешь в файл ScriptPack.dat. Если размер вставляемого файла не совпадает с исходным, то выставляешь в заголовке ScriptPack.dat новый размер.
Там размеры идут по порядку, начиная с позиции 0х8, а секция размера каждого архива составляет ровно 8 байт (4 байта размер + 4 байта Index).
Так как TEXT060.dat идёт 3-ий с конца, то его и меняем (выделено красным прямоугольником).

ScryptPack.dat
[IMG]http://img20.**************/img20/5417/scryptpackdat.png[/IMG]

Так же, сами файлы TEXTxxx.dat не полностью текстовые файлы, а имеют формат бинарного кода + текстовые секции. Поэтому нельзя тупо открывать файл в текстовом редакторе, менять текст и там же сохранять в редакторе. От этого весь бинарный код пересохранится в заданной кодировке и испортится.

lis5131 25.12.2012 20:22

Насчет текста я уже понял. Пишу спец редактор. С жатиями разобрался - использовал bz архиватор на максимальном сжатие. Если размер файла не менять то он сжимает 1:1. И все пашет.

lis5131 добавил 25.12.2012 в 20:22
Остался проклятый шрифт.
frostegater,
Да кстати в плагене есть косяк. Когда подключаешься через УСБ с включенным плагином - он какую то туфту про отключение Bluetooth. Порит. Если можно - вырежь.

ErikPshat 25.12.2012 20:54

Цитата:

Сообщение от lis5131 (Сообщение 1059680)
Если размер файла не менять

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

А толку-то от этого плагина? Когда вы игру переведёте и выложите, вы что там, ещё напишете инструкцию "Как запускать игру"? Типа залейте игру в папку ms0:/ISO; скопируйте наш уникальный плагин в папку ms0:/seplugins; пропишите путь к плагину в файл vsh.txt :xDD:
Бред! )))

Нужно писать модуль в папку Lunar\PSP_GAME\USRDIR\LUNAR\MODULE
И использовать лаунчер, как EBOOT.BIN, а EBOOT.BIN переименовать в BOOT.BIN.

lis5131 25.12.2012 21:21

Цитата:

Сообщение от ErikPshat (Сообщение 1059687)
А как его не менять, если русский текс и английский по длине никогда не совпадают. Русские слова, как правило, чаще всего длиннее. Да и как полный смысл уложить в диалоги. Так что размер переведённого файла по любому изменится и сжать его точно с оригиналом редко получится.

А толку-то от этого плагина? Когда вы игру переведёте и выложите, вы что там, ещё напишете инструкцию "Как запускать игру"? Типа залейте игру в папку ms0:/ISO; скопируйте наш уникальный плагин в папку ms0:/seplugins; пропишите путь к плагину в файл vsh.txt :xDD:
Бред! )))

Нужно писать модуль в папку Lunar\PSP_GAME\USRDIR\LUNAR\MODULE
И использовать лаунчер, как EBOOT.BIN, а EBOOT.BIN переименовать в BOOT.BIN.

Насчет текста - общая длинна русского текста всегда (почти) меньше английского исключение предметы, вещи, и т.д. Тут думаю проблем не будет. А если будут то все решаемые.

Насчет плагина может и бред. Для этого я и пришел сюда - за помощью. Или найти как путь перебить к шрифту, или найти иные способы....

lupus 25.12.2012 22:42

Цитата:

Сообщение от ErikPshat (Сообщение 1059687)
А толку-то от этого плагина? Когда вы игру переведёте и выложите, вы что там, ещё напишете инструкцию "Как запускать игру"? Типа залейте игру в папку ms0:/ISO; скопируйте наш уникальный плагин в папку ms0:/seplugins; пропишите путь к плагину в файл vsh.txt :xDD:
Бред! )))

Нужно писать модуль в папку Lunar\PSP_GAME\USRDIR\LUNAR\MODULE
И использовать лаунчер, как EBOOT.BIN, а EBOOT.BIN переименовать в BOOT.BIN.

ну так:
Цитата:

Сообщение от lupus (Сообщение 1059674)
Спс. Тут ещё такая идея возникла, можно ли запилить не плагин, а модуль, чтобы его в образ класть вместо eboot.pbp, и сначала он грузился, а затем родной eboot?

))

ErikPshat 26.12.2012 12:14

Цитата:

Сообщение от lis5131 (Сообщение 1059692)
Насчет текста - общая длинна русского текста всегда (почти) меньше английского исключение предметы, вещи, и т.д. Тут думаю проблем не будет. А если будут то все решаемые.

Ну да-а-а-а, русский текст длиннее английского. Можно конечно сделать короче, если совсем перевод делать детсадовским методом - когда тебе говорят тонну слов, а в ответ слышат только одно :)

Уж сколько программ переводил Хексом, так никогда русский текст не помещался в свои рамки. Постоянно приходилось раздвигать смещения или переносить текст ваще в другие места.

Да в данном случае по этому поводу не стоит париться, потому что в текстовых секциях можно писать текста сколько угодно, не задумываясь о смещении последующих байтов. А архив GZIP, даже сильно разбухший всегда можно ужать до нужных пределов, причём там места в конце каждого файла, забитого нулями, очень даже достаточно. И новый размер изменившегося архива ничего не стоит проставить по-своему, там всего-то 2 байта ))).

Просто пошёл я опять на второй круг, потому что попалось такое странное и смищьное утверждение, которое к тому же каждый раз почему-то всё более утверждается:

Цитата:

Сообщение от lis5131 (Сообщение 1059680)
Если размер файла не менять то он сжимает 1:1. И все пашет.



Кстати, можешь посмотреть, как я переводил, если интересно.
Там правда переведён только первый диалог в TEXT060.dat, который я уже засунул в ScryptPack.dat. И там все архивы вынуты в исходном виде.
Ну можеш вынуть, распаковать и посмотреть: http://www.mediafire.com/?b846hw9sp1nwwk5
Можно просто в образ вставить ScryptPack.dat и посмотреть перевод на PSP или в эмуле.

Yoti 27.12.2012 20:33

Цитата:

Сообщение от lupus (Сообщение 1059674)
Тут ещё такая идея возникла, можно ли запилить не плагин, а модуль, чтобы его в образ класть вместо eboot.pbp, и сначала он грузился, а затем родной eboot?

Ещё чуть-чуть, и ты бы придумал патчить прометеем образы ХД
Если кто напишет лоадер для подмены ибута - скиньте мне сорцы)

lupus 27.12.2012 20:43

Ну принцип тот же, что у прометея. Это так сложно реализовать? Я слаб в этом вопросе...

Yoti 27.12.2012 21:15

Цитата:

Сообщение от lupus (Сообщение 1059859)
Это так сложно реализовать?

Нет, не сложно. Но мне лень или некогда)

ErikPshat 28.12.2012 00:00

Цитата:

Сообщение от frostegater (Сообщение 1059664)
да там легко.. завтра сделаю

Ну раз фрост сказал - значит будем ждать "завтра".

KirJan-DeSign 28.12.2012 00:06

Цитата:

Сообщение от ErikPshat (Сообщение 1059877)
Сегодня, 00:00

Цитата:

Сообщение от ErikPshat (Сообщение 1059877)
будем ждать "завтра".

завтра было вчера или сегодня? что такое "завтра в 00-00" по межпланетному времени?


хех, не удержался :blush:

frostegater 28.12.2012 03:06

я так посмотрел код и zVshPatcher должен делать то что вы хотите. Даже изменять ниче не надо. Попробуйте ещё.

lis5131 28.12.2012 12:13

Цитата:

Сообщение от frostegater (Сообщение 1059887)
я так посмотрел код и zVshPatcher должен делать то что вы хотите. Даже изменять ниче не надо. Попробуйте ещё.

Сколько я не пробовал он меняет только шрифт меню псп. А в игре фиг.

lis5131 добавил 28.12.2012 в 12:13
ErikPshat, да я кстати спорить тут бесполезно. Все зависит от того - какой текст попадется.
Ладно это бесполезный спор.

Вообщем я так понял с подменой шрифта, или заменой пути к шрифту - не чего не выйдет?

frostegater 28.12.2012 12:39

lis5131, ааа.. может быть там залочка на APITYPE, я щас посмотрю

хм, нет залочки. Ладно, я пну разраба, пусть сделает поддержку для игр, у меня нет времени долго копаться.

lis5131 28.12.2012 14:46

Спасибо, будем надеятся что он сделает. У меня псп 3008 6.39

Когда подключаешься через УСБ с включенным плагином - он какую то туфту про отключение Bluetooth. Порит.

lis5131 добавил 28.12.2012 в 14:46
Начал копать дальше зашел в флеш 1
Нашел system.dreg там нашел путь к шрифту.(flash0:/font)
(смещение $69C0)Думаю что в батнике нет пути(поэтому мы его и ненайдем), а есть смещение на этот путь.Вопрос такой как сделать дизик памяти (PSP)?
Или дизик сырого сохранения памяти с эмулятора псп(JPCSP)?
prxtool
- отказался делать - сказал что это не elf файл.

frostegater 28.12.2012 16:38

lis5131, на то что в flash1 не смотри. Это системные настройки...

ErikPshat 28.12.2012 21:03

Цитата:

Сообщение от lis5131 (Сообщение 1059904)
Вообщем я так понял с подменой шрифта, или заменой пути к шрифту - не чего не выйдет?

Ну почему сразу так. Нужно искать, кто ищет - тот найдёт )))

Цитата:

Сообщение от lis5131 (Сообщение 1059904)
ErikPshat, да я кстати спорить тут бесполезно. Все зависит от того - какой текст попадется.
Ладно это бесполезный спор.

Да тут даже не в том дело, на каком языке текст длиней.

Я просто хочу сказать, что тут нет никаких ограничений на длину текста, т.е. не обязательно укладываться в длину исходного текста и не надо ваще париться по этому поводу, просто пиши сколько хочешь.

lis5131 28.12.2012 21:40

Спасибо. Это хорошо. Остался вопрос с шрифтом пока пытаюсь раскопать.
Интересный момент ($69C0) попадается только в бине лунара в остальных играх не использующих системный шрифт - нет.
При замене сразу игра повисла.
Есть еще один итересный момент
Цитата:

$69C0 - flash0:/font

6F80 - jpn0.pgf
7380 - ltn0.pgf
7780 - ltn1.pgf
7B80 - ltn2.pgf
7F80 - ltn3.pgf
8380 - ltn4.pgf
8780 - ltn5.pgf
8B80 - ltn6.pgf
8F80 - ltn7.pgf
9380 - ltn8.pgf
9780 - ltn9.pgf
9B80 - ltn10.pgf
9F80 - ltn11.pgf
A380 - ltn12.pgf
Так вот в бине лунара есть смещения $A380 и $69C0 в то время как остальных нет.
Незнаю может это просто совпадение.

ErikPshat 28.12.2012 22:12

lis5131, а не пробовал поменять A380 на 7380 и поменять ltn0.pgf на нестандартный кастомный?

Указатели на шрифты скорее берутся отсюда: flash0:/codepage/cptbl.dat

lis5131 28.12.2012 23:53

Цитата:

Сообщение от ErikPshat (Сообщение 1059940)
lis5131, а не пробовал поменять A380 на 7380 и поменять ltn0.pgf на нестандартный кастомный?

Указатели на шрифты скорее берутся отсюда: flash0:/codepage/cptbl.dat

Пробовал - повисло.

ErikPshat 29.12.2012 00:01

lis5131, Кстати, я нашёл путь в sceFont_Library, сдампил из памяти (это libfont.prx в папке MODULE, который я выше выкладывал декриптованный).
Код:

MODULE: sceFont_Library
 Address  - 0x935e100
 Text size - 32792
 Data size - 380

В памяти там открывается путь flash0:/font/kr0.pgf

Никаким ltn12.pgf там не пахнет.

Дамп памяти выкладываю сюда, можешь сам поглядеть.
Ищи текст: flash0:/font/ т.к. kr0.pgf лежит отдельно ниже.

ErikPshat 29.12.2012 01:07

Цитата:

Сообщение от ErikPshat (Сообщение 1059948)
В памяти там открывается путь flash0:/font/kr0.pgf

Никаким ltn12.pgf там не пахнет.

Хотя нет, ошибался. Указание на kr0.pgf видимо идёт для только корейского региона.
В действительности шрифт используется ltn12.pgf.

Теперь можно использовать любой свой шрифт и положить его прямо в образ.
Лучше использовать однобайтный шрифт, т.е. взять виндовой TTF, переместить русский алфавит в однобайтовую область C0 - FF и сконвертировать в PGF.


Ну вот собственно и всё! На этой счастливой ноте можно тему закрывать.

P.S. Надеюсь увижу своё имя в кредитах... :blush:

lis5131 29.12.2012 01:20

Спасибо. Дельное замечание.
:drinks: С меня причитается.
СПАСИБО ОГРОМНОЕ.

ErikPshat 29.12.2012 02:15

lis5131, Ну надеюсь ты понял, что нужно делать...

Сначала я прописал путь к карте памяти ms0:/font/ и всё получилось.
Потом прописал путь disc0:/PSP_GAME/USRDIR/LUNAR/MODULE/ и закинул туда свой кастомный шрифт - прекрасно работает из образа и даже очень быстро выводится, я заметил, что из флеша шрифт немного задерживается.

Пишешь именно в позицию 0х80С0 новый путь, надеваешь каску и противогаз, и вперёд с противотанковыми гранатами.
В общем заменял путь, снова дампил память, всё отлично, прописанный внаглую путь не затирается в памяти.

Нужно сделать однобайтовый шрифт PGF, чтобы можно было прямо в хексе или в текстовике писать русским шрифтом, без всяких закорючек и Юникодов, чтобы в шрифте не попадались служебные символы, т.е. шрифт должен быть в диапазоне C0-FF.
Текстовые секции, где написан текст, можно писать без ограничений на длину, не обращая внимания на сдвиг последующего кода, т.к. это всё-таки текстовик, просто со служебными символами.

lupus 29.12.2012 11:27

Я бы остался на родном юникоде, по той лишь причине, что это позволит оставить читабельными надписи, которые пишутся в данные сохранения.
А этот мой пост кто-то перенёс?
Цитата:

Сообщение от lupus (Сообщение 1059942)
Ребята, раз уж тут вскольз касались темы, может ли консольная версия 7zip пожать gzip? Что-то не разберусь :/


ErikPshat 29.12.2012 13:04

Цитата:

Сообщение от lupus (Сообщение 1059977)
это позволит оставить читабельными надписи, которые пишутся в данные сохранения.

Эмм, а они могут стать не читабельными?
Вроде если запишутся в однобайте, так и считаются этой же консолью с этой игрой точно так же и тем же шрифтом.

Цитата:

Сообщение от lupus (Сообщение 1059977)
А этот мой пост кто-то перенёс?

Там я тебе ответил, не помню чтобы пост кто-то переносил.

lupus 29.12.2012 13:54

Цитата:

Сообщение от ErikPshat (Сообщение 1059985)
Эмм, а они могут стать не читабельными?
Вроде если запишутся в однобайте, так и считаются этой же консолью с этой игрой точно так же и тем же шрифтом.

Я про инфу, которую можно посмотреть из xmb
Цитата:

Сообщение от ErikPshat (Сообщение 1059985)
Там я тебе ответил, не помню чтобы пост кто-то переносил.

Єто меня глючит судя по всему...

ErikPshat 29.12.2012 17:47

Вложений: 1
Ну вообщем вот, сделал парочку файликов libfont.prx на всякие разные случаи.
Какой требуется, таким нужно подменить аналогичный файл в образе игры через UMDGen.
Ессно лучший вариант будет - держать шрифт прямо в образе.

Там прописал пути к шрифту в 2-ух вариантах:
  1. Один берёт шрифт с карты памяти, по пути ms0:/font/, туда и кидать любой шрифт под названием ltn12.pgf.
  2. Второй берёт шрифт из образа, по пути disc0:/PSP_GAME/USRDIR/LUNAR/MODULE/, т.е. туда кидать и шрифт и сам libfont.prx
Ну и один нестандартный шрифт прилагаю, для теста, чтобы видно было, что шрифт берётся не из системы.
Куда и как прописывается шрифт, кто не понял, можете сами посмотреть через Хекс-редактор ;)

lupus 29.12.2012 17:59

Эрик, а можешь сделать ещё такой либфонт, чтобы шрифт класть в disc0:/PSP_GAME/USRDIR/, а шрифт чтобы назывался ltn0.pgf тогда его можно будет практически к любой игре прикрутить, где это может понадобиться.

ErikPshat 29.12.2012 18:17

Вложений: 1
Цитата:

Сообщение от lupus (Сообщение 1060038)
Эрик, а можешь сделать ещё такой либфонт, чтобы шрифт класть в disc0:/PSP_GAME/USRDIR/

Да без проблем, забирай.

Цитата:

Сообщение от lupus (Сообщение 1060038)
а шрифт чтобы назывался ltn0.pgf

Да просто переименуй ltn0.pgf в ltn12.pgf, какие проблемы, от этого шрифт же не будет работать именно так, как он называется )))
Я просто даже не стал искать, где это название прячется, т.к. нет в этом необходимости.
Да и чё-та я сомневаюсь, что эта библа будет работать с другими играми.

lis5131 29.12.2012 20:28

Спасибо. Твои уроки очень полезны, я теперь во многих играх могу шрифт поменять.
Были пробелы - в моей голове, сейчас я пытаюсь их заполнить, ха.
УРААА - ErikPshat !

frostegater 29.12.2012 20:56

Эрик как всегда молодец :)

lis5131 01.01.2013 22:09

Походу возник такой вопрос libfont.prx - разбирается без проблем, а как его собрать обратно чтоб работал на моей прошивке?Пробовал PRX_Encrypter не чего не вышло?


ErikPshat 02.01.2013 04:05

lis5131, ну я же его как-то собрал ;)

lis5131 02.01.2013 07:26

ErikPshat, я хочу проверить кой какие идеи. Мне нужно еще два файла собрать из разных игр. У самого пока не выходит. Поэтому хочу научится сам собирать. Ты профи - поэтому и собрал.:good:

'А я не волшебник - я только учусь'.:dash:

PRX_Encrypter - файл на выходе получается 5,25 мб и не работает (оригинал 25 кб)
EasyPBPRX - файл на выходе получается 400 кб и не работает (оригинал 25 кб)

lupus 02.01.2013 09:30

Криптовать не обязательно.

lis5131 02.01.2013 09:49

Цитата:

Сообщение от lupus (Сообщение 1060447)
Криптовать не обязательно.

Тогда не работает.thank youЯ уже третий день сижу собираю разбираю вставляю и не пашет.


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

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