Мужики, выручайте! =)
Столкнулся с какими то непонятными поинтерами, возможно я не вижу чего то очевидного, но я никак не могу понять, как они устроены.
Пробовал некоторые байты заменять нулями, текст пропадает, либо игра вообще зависает.
Игрушка на PSP.
Линк на файл, файлик маленький, всего 1 кб.
Спойлер
http://psp-rusgame.ru/files/raznoe/Text.rar
P.S.
Попросил еще помощи на
шедевре, но не для кого не секрет, что шедевр уже не тот, что раньше и просить помощи там не у кого :-|
А что за игра-то?
Добавлено позже после небольших раздумий:
Лично я пока разглядел такую вещь:
4 байта - смещенеие на первую TextLibrary
4 байта - смещение на вторую Text Library
а потом идёт ужасная каша, напоминающая мне структуру одного из бинарников в человеке-пауке, завтра попробую ковырнуть...
P.S. Киньте, пожалуйста, ещё один файлик с текстом наподобии такого, если конечно можно :)
Игра называется: Puzzle Quest: Challenge of the Warlords
Хотел портировать перевод с PC на PSP.Всё готово, кроме поинтеров. :)
А можно ещё один такой файлик с текстом?
Проще тогда разобрать будет :)
Выкладываю еще один маленький файл.
Выложил бы еще, но они здоровые по размеру и в них вообще фарш :)
Спойлер
http://psp-rusgame.ru/files/raznoe/StandardQuestGroupsText.rar (http://psp-rusgame.ru/files/raznoe/StandardQuestGroupsText.rar)
Выкладываю предварительный скрин,который кстати, показывает, как выводится текст из первого файла, тот, что я выложил ранее.
Это еще конечно сыромятина, нет больших букв, да и маленькие корявые, в общем работы еще куча.
Спойлер
(http://psp-rusgame.ru/files/raznoe/puzzle_quest_rus_1.png)
Ничего, будем надеяться, что эта сыромятина скоро превратиться во вкуснятину :)
Цитата: nikita600 от 07 апреля 2011, 00:13:514 байта - смещенеие на первую TextLibrary
4 байта - смещение на вторую Text Library
Никитон!Я не вижу :) Расскажи поподробней! ::)
Цитата: Game_Hacker от 07 апреля 2011, 20:37:33
Цитата: nikita600 от 07 апреля 2011, 00:13:514 байта - смещенеие на первую TextLibrary
4 байта - смещение на вторую Text Library
Никитон!Я не вижу :) Расскажи поподробней! ::)
Всё просто :)
Первые 4 байта - это смещение на TextLibrary №1.
Вторые 4 байта - смещение на TextLibrary №2.
Прибавляем ещё 8 к этим значениям, дабы получить настоящие смещения TextLibrary в самом файле.
А ещё я пока не вкуриваю каким образом тут считать указатели. Надо в дампы памяти глянуть, может они что-то дадут. Единственное, что могу сказать , так лично для меня это будет долгий путь раскуривания формата этих файлов :)
Добавлено позже после небольших раздумий:
Я разобрал-таки формат хранения текста %)
Постараюсь объяснить на пальцах.
4 байта - смещение до первой TextLibrary + 8
4 байта - смещение до второго TextLibrary + 8
4 байта - нули
4 байта - 0х01
4 байта - 0х01
12 байт - нули
4 байта - 0х02
4 байта - поинтер (фиксированный)
4 байта - нули
4 байта - к-во строк текста в первой TextLibrary
4 байта - к-во строк текста во второй TextLibrary
12 байт - нули
(Какие-то указатели размером: к-во строк текста в первой TextLibrary * 8 )
4 байта - 0х02
4 байта - поинтер (фиксированный)
4 байта - длина строки, начиная с TextLibrary + 0x00, заканчивая на слове Text
4 байта - 0x02
4 байта - 0x02
12 байт - 0x00
4 байта - 0x01
4 байта - поинтер (фиксированный)
4 байта - 0x03
4 байта - поинтер (фиксированный)
4 байта - длина строки - TextLibrary + 0x00 + Text + 0x00, заканчивая на слове tag
4 байта - длина строки - TextLibrary + 0x00 + Text + 0x00 + tag + 0x00, заканчивая на [SOMETHING]
4 байта - длина строки - TextLibrary + 0x00 + Text + 0x00 + tag + 0x00 + [SOMETHING] + 0x00, заканчивая перед самим текстом
4 байта - длина строки - TextLibrary + 0x00 + Text + 0x00 + tag + 0x00 + [SOMETHING] + 0x00 + САМ ТЕКСТ + 0x00.
и.т.д
Добавлено позже после небольших раздумий:
Я надеюсь, что что-то понятно из моего мандаринского языка :)
JP: Если есть 8 ), то ставь через пробел. Иначе смайлик будет.
*FRIENDS* Вот спасибо!
Я бы с моим количеством свободного времени, разбирал бы еще год, работы очень много + семья :-| На перевод игр совсем не остается времени.
Сегодня попробуем написать софт.
P.S. стукнулся к тебе в icq.
IСQ обиделась и обратно стукнула по лбу обидчика.
:D
Цитата: Game_Hacker от 17 апреля 2011, 15:22:47
*FRIENDS* Вот спасибо!
Я бы с моим количеством свободного времени, разбирал бы еще год, работы очень много + семья :-| На перевод игр совсем не остается времени.
Сегодня попробуем написать софт.
P.S. стукнулся к тебе в icq.
Думаешь у меня время есть? :)
Цитата: JurasskPark от 17 апреля 2011, 17:42:59
IСQ обиделась и обратно стукнула по лбу обидчика.
:D
По игре что ли? :)