Форум Magic Team

Переводы, переводы, переводы... => Ромхакинг и перевод => Тема начата: Game_Hacker от 06 Апреля 2011, 22:36:42

Название: Прошу помощи
Отправлено: Game_Hacker от 06 Апреля 2011, 22:36:42
Мужики, выручайте! =)
Столкнулся с какими то непонятными поинтерами, возможно я не вижу чего то очевидного, но я никак не могу понять, как они устроены.
Пробовал некоторые байты заменять нулями, текст пропадает, либо игра вообще зависает.
Игрушка на PSP.
Линк на файл, файлик маленький, всего 1 кб.
http://psp-rusgame.ru/files/raznoe/Text.rar

P.S.
Попросил еще помощи на шедевре, но не для кого не секрет, что шедевр уже не тот, что раньше и просить помощи там не у кого :-|

 
Название: Прошу помощи
Отправлено: nikita600 от 06 Апреля 2011, 23:13:51
А что за игра-то?

Добавлено позже после небольших раздумий:
Лично я пока разглядел такую вещь:
4 байта - смещенеие на первую TextLibrary
4 байта - смещение на вторую Text Library
а потом идёт ужасная каша, напоминающая мне структуру одного из бинарников в человеке-пауке, завтра попробую ковырнуть...
P.S. Киньте, пожалуйста, ещё один файлик с текстом наподобии такого, если конечно можно :)
Название: Прошу помощи
Отправлено: Game_Hacker от 06 Апреля 2011, 23:34:54
Игра называется: Puzzle Quest: Challenge of the Warlords
Хотел портировать перевод с PC на PSP.Всё готово, кроме поинтеров. :)
Название: Прошу помощи
Отправлено: nikita600 от 07 Апреля 2011, 00:01:08
А можно ещё один такой файлик с текстом?
Проще тогда разобрать будет :)
Название: Прошу помощи
Отправлено: Game_Hacker от 07 Апреля 2011, 00:19:02
Выкладываю еще один маленький файл.
Выложил бы еще, но они здоровые по размеру и в них вообще фарш  :)

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:54:03
Ничего, будем надеяться, что эта сыромятина скоро превратиться во вкуснятину :)
Название: Прошу помощи
Отправлено: Game_Hacker от 07 Апреля 2011, 19:37:33
4 байта - смещенеие на первую TextLibrary
4 байта - смещение на вторую Text Library

Никитон!Я не вижу  :) Расскажи поподробней! ::)
Название: Прошу помощи
Отправлено: nikita600 от 07 Апреля 2011, 20:02:06
4 байта - смещенеие на первую 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 ), то ставь через пробел. Иначе смайлик будет.
Название: Прошу помощи
Отправлено: Game_Hacker от 17 Апреля 2011, 14:22:47
 *FRIENDS* Вот спасибо!
Я бы с моим количеством свободного времени, разбирал бы еще год, работы очень много + семья :-| На перевод игр совсем не остается времени.
Сегодня попробуем написать софт.
P.S. стукнулся к тебе в icq.


Название: Прошу помощи
Отправлено: JurasskPark от 17 Апреля 2011, 16:42:59
IСQ обиделась и обратно стукнула  по лбу обидчика.

 :D
Название: Прошу помощи
Отправлено: nikita600 от 17 Апреля 2011, 21:01:44
*FRIENDS* Вот спасибо!
Я бы с моим количеством свободного времени, разбирал бы еще год, работы очень много + семья :-| На перевод игр совсем не остается времени.
Сегодня попробуем написать софт.
P.S. стукнулся к тебе в icq.

Думаешь у меня время есть? :)

IСQ обиделась и обратно стукнула  по лбу обидчика.

 :D

По игре что ли? :)