Вложений: 1
riku.kh3, ну вообщем вот подписанный тем же родным кирком ~SCE и ~PSP либфонт, надеюсь не напортачил и должен работать...
По заголовку и размеру он ничем не отличается от оригинала. Тело же конечно уже другое 0x150 + 0x40, но подписано этим же родным кирком и заголовком. Ах да, мой шрифт, который я выкладывал в предыдущем архиве, ловит кириллицу в юникоде и в однобайте. Так что можно использовать как двубайтную кодировку юникода, так и однобайтную win-1251 0xC0 = А. А ты точно уверен, что шрифт именно jpn0.pgf? А то вдруг там какой-нибудь ltn12.pgf... как в Лунаре. В общем шрифт должен подхватываться из папки disc0:/PSP_GAME/USRDIR/X9DULE/. Название самого шрифта не указывается в пути, его даже не видно при дампе памяти, он как-то странно там отбирается по непонятному механизму, но в дампе sceFont_Library виден шрифт kr0.pgf Код:
AsiaNHH(512Johab).tin...........................................kr0.pgf.f |
Цитата:
ErikPshat, тебя не затруднит всё-таки проверить на реальной PSP модифицированный libfont? Неужели железу PSP пофиг, что путь к disc0:/ в мод. библе записан прямо тупо так в открытом виде, а не как до этого? :scratch_one-s_head: |
Цитата:
Ну а путь складывается по тому адресу в памяти flash0:/font/. В оригинале то место забито нулями специально для этих нужд. А т.к. по тому адресу я уже прописал новый путь, то он уже не затирается. Это можно проверить сдампив память с модифицированным либфонтом. |
ErikPshat, тогда это объясняет, почему на эмуляторе путь переписывается назад на flash0, и все это китайское мамбо джамбо с написанием своего модуля :D
|
Вложений: 5
riku.kh3, ну собсно проверил, всё работает. Подписанный и зашифрованный кастомный модуль отлично отрабатывает на PSP.
Только я шрифт туда подкинул свой Times New Roman сконверченный в ltn0.pgf - переименованный в jpn0.pgf. Соответственно игра у меня японская и вместо шрифта я вижу прочерки, отображаются только английские слова и спец-символы типа - !?" Вложение 10017 Вложение 10018 Снял дамп памяти, там то же всё чётко. Путь в памяти отображается в нужном месте и не затирается: Сравнение оригинального дампа и модифицированного зашифрованного модуля libfont Ну и во вложении доказательства дампа памяти. |
Цитата:
Попробуй убрать из эмуля шрифт jpn0.pgf из папки совсем. А может ты новый модуль не сохранил в образе игры? Или может шрифт туда забыл подкинуть? |
Вложений: 1
Цитата:
Подписанный: |
riku.kh3, эмм, это китайское мамбо действительно чудо из чудес :D
Как они так умудрились сконвертировать такую библу, там я вижу после концовки файла идёт ещё куча мусора, больше, чем сам продуктивный код. Выбрось эту шнягу подальше. И не понятно, что это у тебя на первых скринах и всех остальных пытается грузиться flash0:/font/zh_gb.pgf Этого шрифта нет ни в игре, нигде. Либо ты сам где-то подмешал это китайское чудо с моим модулем вперемешку. |
ErikPshat, не, это эмулятор для своих системных нужд пытается и несуществующий шрифт добавить (там эмитация окошек для сейвов/загрузок где этот шрифт может использоваться, ввода текста и т.п.). Он вообще все существующие шрифты пытается грузить во всех играх.. :scratch_one-s_head: В образе там все чистенько - только твой libfont.prx заменен и jpn0.pgf рядышком с ним.
|
riku.kh3, я вижу у китайцев такой хитрый путь: ms0:/iso/open_ms0 :xDD:
Они наверное подумали, что путь сработает и откроется ms0 :D Ага, и откуда они догадались такую строчку воткнуть ms0:/ISO/zh_gb.pgf oldfont.prx - это вообще либа не от этой игры. То есть, как я понял, либа libfont.prx компилится только для одной игры, под которую она предназначена, на другой игре по идее она работать не должна. Это потому, что в самой либе прописано название игры, зашифрованное в заголовке ~SCE. В этом oldfont прописан заголовок от другой игры: Код:
\yr=`c`0~{tx...22222GIDD/ Код:
\yr=`c`0~{tx...22222JFDD/ |
Вложений: 1
Вот он ~SCE заголовок зашифрованного файла и он же прописан внутри самого файла, если его декриптовать. Вложение 10023 Но у китайцев внутри файлов я вижу другой заголовок от какой-то другой игры. По идее такой файл не должен работать на чужой игре. |
Все, понятно почему на эмуляторах с правильным libfont.prx шрифт не грузится откуда положено. :) Они попросту не используют libfont.prx вообще, вместо него там в самом эмуляторе грузится рутина. Попробовал заменить libfont.prx на пустышку забитую мусором, и оба эмулятора как ни в чем не бывало запустили игру:
Тут же и ответ на оба поста выше. |
riku.kh3, ну на первых скринах я вижу, что вроде бы грузится disc0:/PSP_GAME/USRDIR/X9DULE/libfont.prx
Там кругом видно, что путь отрабатывает. И шрифт должен браться оттуда же disc0:/PSP_GAME/USRDIR/X9DULE/jpn0.pgf Ты посмотри внимательнее в логах, может наряду с другими шрифтами он грузится где-то в конце? |
ErikPshat, на первых то скринах да, видно что 'вроде бы' грузится, но на самом деле эмуль определяет "что" это такое пытается грузится и скипает, перенаправляя на свой код рутины по работе со шрифтами. Логи я внимательно все пересмотрел - disc0:/PSP_GAME/USRDIR/X9DULE/jpn0.pgf не грузится 100%. Да и говорю, пустым файлом заменил libfont.prx в игре, а она все так же как ни в чем не бывало работает и шрифт все так же отображается.
То есть грубо говоря даже если libfont.prx и грузится, эмулятор его поверх своим кодом все-равно перезаписывает. Как то так, в общем. :scratch_one-s_head: |
riku.kh3, ну ладно, тогда значит понятно, что нифига не понятно, почему эмуляторы подсовывают свои шрифты :D
В общем думаю проблему мы решили, ведь игру планируется запускать на PSP. И в общем всё на ней работает, как положено. Ну а проблемы со шрифтами при сохранении - это уже из другой оперы. |
Цитата:
Цитата:
|
riku.kh3, вот посмотри, мне так кажется, что английский шрифт нормально отображается по ширине и не заметно двойных пробелов:
А у тебя почему-то диалоги отображаются широкими с большим пробелом: |
ErikPshat, надпись 'Converted Edition' у тебя на скрине в обычной ascii кодировке с нормальным $20 пробелом, текст для таких системных сообщений берется из самого EBOOT.BIN.
А на втором скрине текст и пробелы в shiftjis 2-байтовой кодировке: Код:
Vot takaya vot kodirovka |
riku.kh3, а, ну да, тупанул я мальца.
Получается нужно как-то Shift-JIS сконвертировать из TTF. А в TTF можно подкорректировать пробел покороче с помощью редактора шрифтов, дома на компе валяется такой. Это у Японцев в этой кодировке всегда расстояния такие, чтобы иероглифы не сливались, ну и другие символы языков так же отрисованы. |
ErikPshat, с самим TTF я как только не игрался.. ширину уменьшать пробовал, в самой windows и любыми программами где этот шрифт используется как положено буковки уже становятся и shiftjis пробел в два раза меньше как надо.. но после конвертирования в pgf в самой игре совсем все не так.. Пробел как большим был так большим и остается, из ascii буквы если все глифы удалить - интервала вообще она перестает создавать.. а если из shiftjis символа все глифы удалить - в точности все до наоборот.. :unknw:
riku.kh3 добавил 08.05.2014 в 23:20 Цитата:
http://www.seiai.ed.jp/sys/text/java...jis_table.html |
Текущее время: 02:10. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.