Ковырнул тут на досуге игру. Задался интересным вопросом.
Суть такая. Игра использует системный шрифт ltn3.pgf и ltn5.pgf (точнее две разных игры.)
Есть ли возможность заменить этот шрифт через плагин. (не трогая flash0)?
С жатием разобрался. А вот написать такой плагин было бы не плохо. Не селен я в с++.
Нашел там только одну строчку касающуяся ltn0.pgf - заменил на ltn12.pgf. И все равно он меняет основной системный шрифт.
Спс. Тут ещё такая идея возникла, можно ли запилить не плагин, а модуль, чтобы его в образ класть вместо eboot.pbp, и сначала он грузился, а затем родной eboot?
Количество сообщений на форуме далеко не всегда пропорционально умственным способностям человека. >>>Silent Hill: Genesis<<<
ErikPshat, а чем ты запаковывал назад. Я пробовал 7z(9.20) - у меня повис.
Чем запаковывать не имеет значения. Я так же пакую через 7-ZIP.
Методом подбора "Уровня сжатия", а затем более тонко "Размера слова", регулирую размер выходного архива, чтобы он был приближен по размеру к исходному.
Название сжимаемого файла ессно должно быть, как в исходном, записанном в заголовке (TEXT060.dat).
Потом вставляешь в файл ScriptPack.dat. Если размер вставляемого файла не совпадает с исходным, то выставляешь в заголовке ScriptPack.dat новый размер.
Там размеры идут по порядку, начиная с позиции 0х8, а секция размера каждого архива составляет ровно 8 байт (4 байта размер + 4 байта Index).
Так как TEXT060.dat идёт 3-ий с конца, то его и меняем (выделено красным прямоугольником).
Так же, сами файлы TEXTxxx.dat не полностью текстовые файлы, а имеют формат бинарного кода + текстовые секции. Поэтому нельзя тупо открывать файл в текстовом редакторе, менять текст и там же сохранять в редакторе. От этого весь бинарный код пересохранится в заданной кодировке и испортится.
Насчет текста я уже понял. Пишу спец редактор. С жатиями разобрался - использовал bz архиватор на максимальном сжатие. Если размер файла не менять то он сжимает 1:1. И все пашет.
lis5131 добавил 25.12.2012 в 20:22
Остался проклятый шрифт. frostegater,
Да кстати в плагене есть косяк. Когда подключаешься через УСБ с включенным плагином - он какую то туфту про отключение Bluetooth. Порит. Если можно - вырежь.
Последний раз редактировалось lis5131; 25.12.2012 в 20:23.
Причина: добавил, подумав
А как его не менять, если русский текс и английский по длине никогда не совпадают. Русские слова, как правило, чаще всего длиннее. Да и как полный смысл уложить в диалоги. Так что размер переведённого файла по любому изменится и сжать его точно с оригиналом редко получится.
А толку-то от этого плагина? Когда вы игру переведёте и выложите, вы что там, ещё напишете инструкцию "Как запускать игру"? Типа залейте игру в папку ms0:/ISO; скопируйте наш уникальный плагин в папку ms0:/seplugins; пропишите путь к плагину в файл vsh.txt
Бред! )))
Нужно писать модуль в папку Lunar\PSP_GAME\USRDIR\LUNAR\MODULE
И использовать лаунчер, как EBOOT.BIN, а EBOOT.BIN переименовать в BOOT.BIN.
А как его не менять, если русский текс и английский по длине никогда не совпадают. Русские слова, как правило, чаще всего длиннее. Да и как полный смысл уложить в диалоги. Так что размер переведённого файла по любому изменится и сжать его точно с оригиналом редко получится.
А толку-то от этого плагина? Когда вы игру переведёте и выложите, вы что там, ещё напишете инструкцию "Как запускать игру"? Типа залейте игру в папку ms0:/ISO; скопируйте наш уникальный плагин в папку ms0:/seplugins; пропишите путь к плагину в файл vsh.txt
Бред! )))
Нужно писать модуль в папку Lunar\PSP_GAME\USRDIR\LUNAR\MODULE
И использовать лаунчер, как EBOOT.BIN, а EBOOT.BIN переименовать в BOOT.BIN.
Насчет текста - общая длинна русского текста всегда (почти) меньше английского исключение предметы, вещи, и т.д. Тут думаю проблем не будет. А если будут то все решаемые.
Насчет плагина может и бред. Для этого я и пришел сюда - за помощью. Или найти как путь перебить к шрифту, или найти иные способы....
А толку-то от этого плагина? Когда вы игру переведёте и выложите, вы что там, ещё напишете инструкцию "Как запускать игру"? Типа залейте игру в папку ms0:/ISO; скопируйте наш уникальный плагин в папку ms0:/seplugins; пропишите путь к плагину в файл vsh.txt
Бред! )))
Нужно писать модуль в папку Lunar\PSP_GAME\USRDIR\LUNAR\MODULE
И использовать лаунчер, как EBOOT.BIN, а EBOOT.BIN переименовать в BOOT.BIN.
ну так:
Сообщение от lupus
Спс. Тут ещё такая идея возникла, можно ли запилить не плагин, а модуль, чтобы его в образ класть вместо eboot.pbp, и сначала он грузился, а затем родной eboot?
))
Количество сообщений на форуме далеко не всегда пропорционально умственным способностям человека. >>>Silent Hill: Genesis<<<
Насчет текста - общая длинна русского текста всегда (почти) меньше английского исключение предметы, вещи, и т.д. Тут думаю проблем не будет. А если будут то все решаемые.
Ну да-а-а-а, русский текст длиннее английского. Можно конечно сделать короче, если совсем перевод делать детсадовским методом - когда тебе говорят тонну слов, а в ответ слышат только одно
Уж сколько программ переводил Хексом, так никогда русский текст не помещался в свои рамки. Постоянно приходилось раздвигать смещения или переносить текст ваще в другие места.
Да в данном случае по этому поводу не стоит париться, потому что в текстовых секциях можно писать текста сколько угодно, не задумываясь о смещении последующих байтов. А архив GZIP, даже сильно разбухший всегда можно ужать до нужных пределов, причём там места в конце каждого файла, забитого нулями, очень даже достаточно. И новый размер изменившегося архива ничего не стоит проставить по-своему, там всего-то 2 байта ))).
Просто пошёл я опять на второй круг, потому что попалось такое странное и смищьное утверждение, которое к тому же каждый раз почему-то всё более утверждается:
Сообщение от lis5131
Если размер файла не менять то он сжимает 1:1. И все пашет.
Кстати, можешь посмотреть, как я переводил, если интересно.
Там правда переведён только первый диалог в TEXT060.dat, который я уже засунул в ScryptPack.dat. И там все архивы вынуты в исходном виде.
Ну можеш вынуть, распаковать и посмотреть: http://www.mediafire.com/?b846hw9sp1nwwk5
Можно просто в образ вставить ScryptPack.dat и посмотреть перевод на PSP или в эмуле.
Последний раз редактировалось ErikPshat; 26.12.2012 в 12:36.
Другие консоли: Все PSP, все PSV, SCPH-1002, SCPH-102, SCPH-77008, CECH-4208C, SCPH-1000R
Регистрация: 19.03.2008
Адрес: Россия
Сообщений: 5,742
Вы сказали Спасибо: 819
Поблагодарили 3,850 раз(а) в 2,020 сообщениях
Сила репутации: 1
Репутация: 3850 
(репутация неоспорима)
Сообщение от lupus
Тут ещё такая идея возникла, можно ли запилить не плагин, а модуль, чтобы его в образ класть вместо eboot.pbp, и сначала он грузился, а затем родной eboot?
Ещё чуть-чуть, и ты бы придумал патчить прометеем образы ХД
Если кто напишет лоадер для подмены ибута - скиньте мне сорцы)
я так посмотрел код и zVshPatcher должен делать то что вы хотите. Даже изменять ниче не надо. Попробуйте ещё.
Сколько я не пробовал он меняет только шрифт меню псп. А в игре фиг.
lis5131 добавил 28.12.2012 в 12:13 ErikPshat, да я кстати спорить тут бесполезно. Все зависит от того - какой текст попадется.
Ладно это бесполезный спор.
Вообщем я так понял с подменой шрифта, или заменой пути к шрифту - не чего не выйдет?
Последний раз редактировалось lis5131; 28.12.2012 в 12:13.
Причина: добавил, подумав
Спасибо, будем надеятся что он сделает. У меня псп 3008 6.39
Когда подключаешься через УСБ с включенным плагином - он какую то туфту про отключение Bluetooth. Порит.
lis5131 добавил 28.12.2012 в 14:46
Начал копать дальше зашел в флеш 1
Нашел system.dreg там нашел путь к шрифту.(flash0:/font) (смещение $69C0)Думаю что в батнике нет пути(поэтому мы его и ненайдем), а есть смещение на этот путь.Вопрос такой как сделать дизик памяти (PSP)? Или дизик сырого сохранения памяти с эмулятора псп(JPCSP)?
prxtool - отказался делать - сказал что это не elf файл.
Последний раз редактировалось lis5131; 28.12.2012 в 14:46.
Причина: добавил, подумав
Вообщем я так понял с подменой шрифта, или заменой пути к шрифту - не чего не выйдет?
Ну почему сразу так. Нужно искать, кто ищет - тот найдёт )))
Сообщение от lis5131
ErikPshat, да я кстати спорить тут бесполезно. Все зависит от того - какой текст попадется.
Ладно это бесполезный спор.
Да тут даже не в том дело, на каком языке текст длиней.
Я просто хочу сказать, что тут нет никаких ограничений на длину текста, т.е. не обязательно укладываться в длину исходного текста и не надо ваще париться по этому поводу, просто пиши сколько хочешь.