Форум Magic Team


 

Новости:

01.01.2017: Релиз испанской версии Naruto - Ninja Council (GBA)
02.12.2016: Добавлена документация по Kruptar 7
09.10.2015: Обновление перевода игры Battletoads (NES) [версия 1.3]
22.01.2015: Kruptar Open Source
18.10.2014: Релиз обновлённой русской версии Castlevania - Dawn of Sorrow (GBA) от Owls Group
01.05.2014: Релиз русской версии Taiyou no Yuusha Firebird (NES)
24.06.2012: Добавлена доработанная документация и инструкция
26.05.2012: Обновление ORITON [версия 2.050]
11.05.2012: Обновление ORITON [версия 2.048]
11.03.2012: Обновление Kruptar 7 [версия 7.1.1.17]
29.01.2012: Обновление LZ77Restructor 2 [версия 1.02]
01.01.2012: Релиз русской версии Drill Dozer (GBA)

Подробнее на страничке новостей.
Ознакомьтесь с правилами нашего форума.


  • Форум
  • Поиск
  • Вход
  • Регистрация

  • Форум Magic Team »
  • Переводы, переводы, переводы... »
  • Ромхакинг и перевод »
  • Нужна помощь с одним файликом (GBA, LZ)
« предыдущая тема следующая тема »
  • Печать
Страницы: [1] 2 3   Вниз

Автор Тема: Нужна помощь с одним файликом (GBA, LZ)  (Прочитано 51529 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Anton

  • Пользователь
  • Сообщений: 325
  • Репутация: +7/-0
    • Просмотр профиля
    • Zelda64rus
Нужна помощь с одним файликом (GBA, LZ)
« : 04 Мая 2011, 16:29:50 »
Слезно прошу помощи. Может кто-нибудь помочь разобраться с одним файликом?
Игра: Zelda Wind Waker (GameCube).
Файлик: client_u.bin (в аттаче), в нем шрифт и пару надписей для той части игры, которая происходит на Gameboy Advanced.
Цель: корректно запаковать отредактированный файл.

Проблема следующая. Распаковал я файлик, значит, прогой gbalzss (с ключом d). Смотрю в тайловом редакторе - появились намеки на искомую графику, но она выглядит явно ещё пожатой.
Дай, думаю, полученный распакованный файл распакую ЕЩЕ РАЗ. Сделал. О чудо: увидел (crystal tile 2, gba4bpp, тайл 8х8) все, что мне нужно, и даже уже кое-что перерисовал. Двойная запаковка, получается? Такое вообще бывает?
Теперь надо паковать обратно. Щас, думаю, сделаем обратный процесс (gbalzss с ключом e). Получил файлик (его размер, кстати, немного отличается от такого же промежуточного, который я полчил при распаковке). Пакую полученный файлик ЕЩЕ РАЗ - ничего. Сжимает процента на 2, и все.
Помогите, в общем, разобраться, пожалуйста... Что за файл такой волшебный, с двойным сжатием...





Оффлайн TrickZter

  • Magic Team
  • Сообщений: 1324
  • Репутация: +15/-5
  • The cake is a lie.
    • Просмотр профиля
Нужна помощь с одним файликом (GBA, LZ)
« Ответ #1 : 04 Мая 2011, 16:45:18 »
Бывает что пожато ЛЗ и Хаффманом, но чтобы два раза ЛЗ, ещё такого не видал :)
Цитата: Anton от 04 Мая 2011, 19:29:50
Пакую полученный файлик ЕЩЕ РАЗ - ничего. Сжимает процента на 2, и все.
Сильнее то оно вряд ли сожмёт. Чем не устраивает дважды запакованный файл? Не влезает на старое место? Тогда перенеси его в другую часть рома.

Оффлайн Anton

  • Пользователь
  • Сообщений: 325
  • Репутация: +7/-0
    • Просмотр профиля
    • Zelda64rus
Нужна помощь с одним файликом (GBA, LZ)
« Ответ #2 : 04 Мая 2011, 16:59:50 »
Не устраивает то, что после запаковки он глобально отличается от оригинала, и весит в два раза больше.
Глянь его начало (включая надпись GZLE01 (идентификатор игры) - вот этого всего я больше не вижу после запаковок.

Переносить его никуда не надо, я кубовский образ пересоберу с новым файлом, да и все.

Оффлайн TrickZter

  • Magic Team
  • Сообщений: 1324
  • Репутация: +15/-5
  • The cake is a lie.
    • Просмотр профиля
Нужна помощь с одним файликом (GBA, LZ)
« Ответ #3 : 04 Мая 2011, 17:20:46 »
Цитата: Anton от 04 Мая 2011, 19:59:50
Не устраивает то, что после запаковки он глобально отличается от оригинала, и весит в два раза больше.
Глянь его начало (включая надпись GZLE01 (идентификатор игры) - вот этого всего я больше не вижу после запаковок.
Ну, есессно, запакованные данные будут сильно отличаться :)
Прикрепил то к посту ты что? В формате GBA 4BPP там никакой графики не видно.

Оффлайн Anton

  • Пользователь
  • Сообщений: 325
  • Репутация: +7/-0
    • Просмотр профиля
    • Zelda64rus
Нужна помощь с одним файликом (GBA, LZ)
« Ответ #4 : 04 Мая 2011, 17:50:31 »
Цитата: TrickZter от 04 Мая 2011, 17:20:46
Прикрепил то к посту ты что? В формате GBA 4BPP там никакой графики не видно.

Конечно не видно, я ж написал, что распаковывать надо (2 раза) прогой gbalzss.

Цепляю прогу (хотя ее несложно и нагуглить).
"gbalzss d файл1 файл2" - распаковка
"gbalzss e файл1 файл2" - запаковка

И еще - проверить данный файл на эмуляторе не получится (эмуляция Куба пока в ДАННОЙ игре не эмулирует нормально связку куб+гба, а отдельно этот bin в эмуле GBA тоже не запускается). Мне надо это нормально запаковать и дать человеку для теста на настоящих железяках.

Добавлено позже после небольших раздумий:
Цитата: TrickZter от 04 Мая 2011, 17:20:46
Ну, есессно, запакованные данные будут сильно отличаться

Полностью убив заголовок файла и на 20 кб отличаться от оригинала? Это уже не отличие... это "что-то не так"....
В исходном файле заголовок 2E 00 00 EA (GBA?).

Оффлайн TrickZter

  • Magic Team
  • Сообщений: 1324
  • Репутация: +15/-5
  • The cake is a lie.
    • Просмотр профиля
Нужна помощь с одним файликом (GBA, LZ)
« Ответ #5 : 04 Мая 2011, 18:10:47 »
Цитата: Anton от 04 Мая 2011, 20:50:31
Конечно не видно, я ж написал, что распаковывать надо (2 раза) прогой gbalzss.
Так просто этот файл "распаковывать" нельзя, у файла явно есть заголовок. Обрати внимание на данные, обведённые зелёной линией:

Таких рядков при запаковке LZом никогда не остаётся. Очевидно, что пожат не весь файл, а только некоторая его часть. Для правильной распаковки нужно узнать, откуда начинаются запакованные данные, если "распаковывать" всё подряд, то на выходе получается каша + действительно распакованные данные, при этом при запаковке "каша" уже наверняка не восстановит свой первоначальный вид. Подозреваю, что запакованные данные начинаются с адреса hE0. Я кубом никогда не занимался, но настораживает то, что не видно ничего похожего на размер запакованных данный, на ГБА этот размер всегда указывается в заголовке, а сам заголовок начинается с байта h10.

Цитировать (выделенное)
Полностью убив заголовок файла и на 20 кб отличаться от оригинала?
На ГБА заголовок состоит из 4-х байтов. Есессно ГБАшные тулзы будут курочить кубовские заголовки, потому что они о них ничего не знают.

Оффлайн Anton

  • Пользователь
  • Сообщений: 325
  • Репутация: +7/-0
    • Просмотр профиля
    • Zelda64rus
Нужна помощь с одним файликом (GBA, LZ)
« Ответ #6 : 04 Мая 2011, 18:20:29 »
Прикольно... Но нужно как-то собрать все обратно...
С чем, собственно, и прошу помочь...


Добавлено позже после небольших раздумий:
Цитата: TrickZter от 04 Мая 2011, 18:10:47
Есессно ГБАшные тулзы будут курочить кубовские заголовки, потому что они о них ничего не знают.

т.е. тут какая-то смесь из куба и гба в файле?


Добавлено позже после небольших раздумий:
Если интересно, то вот все файлы из папки Root/Res/Gba из образа игры.
Есть еще файлик client_ud.bin (на килобайт больше, чем client_u.bin, и графика в нем та же самая) - интересно, зачем он нужен...
Ну а файлик msg_LZ.bin - это текст диалогов на GBA. Его я распаковал (и он вроде и запаковывается нормально LZ77 Restuctor-ом). К нему даже есть проект к Круптару (Алекс помог).

Оффлайн TrickZter

  • Magic Team
  • Сообщений: 1324
  • Репутация: +15/-5
  • The cake is a lie.
    • Просмотр профиля
Нужна помощь с одним файликом (GBA, LZ)
« Ответ #7 : 04 Мая 2011, 18:33:23 »
Цитата: Anton от 04 Мая 2011, 18:20:29
т.е. тут какая-то смесь из куба и гба в файле?
Метод сжатия то, похоже, тот же, надо только со структурой файла разбираться или хотя бы найти где начинаются запакованные данные.

Оффлайн Anton

  • Пользователь
  • Сообщений: 325
  • Репутация: +7/-0
    • Просмотр профиля
    • Zelda64rus
Нужна помощь с одним файликом (GBA, LZ)
« Ответ #8 : 04 Мая 2011, 18:34:33 »
Цитата: TrickZter от 04 Мая 2011, 18:33:23
или хотя бы найти где начинаются запакованные данные.

Ты можешь с этим всем помочь? А то я не математик... (

Оффлайн TrickZter

  • Magic Team
  • Сообщений: 1324
  • Репутация: +15/-5
  • The cake is a lie.
    • Просмотр профиля
Нужна помощь с одним файликом (GBA, LZ)
« Ответ #9 : 05 Мая 2011, 08:44:04 »
Заюзай мою новую версию реструктора, она ещё пока не доделана, но с задачей распаковки/запаковки успешно справляется. Когда откроешь в ней файлик, в списке появится одна строчка (прога сама находит пожатые данные):

Выдели её и нажми кнопку Extract Selected. В папке с файлом появится новый файл с именем 000001A4 (74780).bin, где 000001A4 - адрес в файле, 74780 - размер в запакованном виде. Если его открыть в реструкторе, то найдёшь свою графику:

Извлеки картинки кнопкой "Extract selected" и можешь редактировать их в любом тайловом редакторе.

Когда перерисуешь, нужно будет вставить их в обратном порядке. Сначала в файл 000001A4 (74780).bin вставляешь отредактированные картинки: выдели строчку заменяемой картинки и нажми кнопку "Insert from file", метод сжатия выбери LZ77 vram safe, с обычным LZ77 могут быть проблемы с изображением. Когда картинки вставишь, уже файл 000001A4 (74780).bin нужно будет запаковать и вставить в файл client_u.bin, для него метод сжатия выбери обычный LZ77, он сожмёт лучше и проблем никаких не будет.

Каждый раз при вставке программа будет показывать тебе размер старых данных и новых, и будет спрашивать разрешение на вставку, если размер новых будет больше старых, то не вставляй, иначе запортишь какие-нибудь данные. Для вставки увеличившихся картинок/файлов придётся их куда-нибудь переносить, изменяя соответствующие поинтеры.

З.Ы.: Прога умеет извлекать данные и в виде картинок, но обратная процедура пока не доделана.

Прога во вложении:
Edit: была во вложении, ниже выложил новую версию.

Оффлайн Anton

  • Пользователь
  • Сообщений: 325
  • Репутация: +7/-0
    • Просмотр профиля
    • Zelda64rus
Нужна помощь с одним файликом (GBA, LZ)
« Ответ #10 : 05 Мая 2011, 09:40:58 »
Огромное спасибо!
Пошаманю - отпишусь )

Добавлено позже после небольших раздумий:
Прога отказывается открывать файл (
Выдает ошибку: List index out of bounds (0)

Оффлайн TrickZter

  • Magic Team
  • Сообщений: 1324
  • Репутация: +15/-5
  • The cake is a lie.
    • Просмотр профиля
Нужна помощь с одним файликом (GBA, LZ)
« Ответ #11 : 05 Мая 2011, 10:15:32 »
Цитата: Anton от 05 Мая 2011, 12:40:58
Прога отказывается открывать файл (
Выдает ошибку: List index out of bounds (0)
В меню Filters убери галки "Graphics only" и "With global pointers", и открой заново - должно сработать. Прога ругается, что отображать нечего. Я пока не научил её адекватно реагировать на такое событие :) Сейчас займусь этим.

Оффлайн Anton

  • Пользователь
  • Сообщений: 325
  • Репутация: +7/-0
    • Просмотр профиля
    • Zelda64rus
Нужна помощь с одним файликом (GBA, LZ)
« Ответ #12 : 05 Мая 2011, 10:21:38 »
такс... заработало )
повытаскивал графику, рисую...

Оффлайн TrickZter

  • Magic Team
  • Сообщений: 1324
  • Репутация: +15/-5
  • The cake is a lie.
    • Просмотр профиля
Нужна помощь с одним файликом (GBA, LZ)
« Ответ #13 : 05 Мая 2011, 10:32:37 »
Пофиксил ошибку. Новая версия проги во вложении.
Кстати, обрати внимание на левый нижний угол:



Там написано Shown elements: 0/1
Число слева - это количество отображённых элементов, число справа - общее количество элементов, которое прога отыскала. Отображаются только те элементы, которые успешно проходят фильтры (менять можно в меню Filters), для отображения скрытых элементов нужно крутить фильтры, как в случае отключения галок "Graphics only" и "With global pointers". При закрытии прога сохраняет все настройки, в том числе и состояние фильтров, в файлик Settings.ini и при следующем запуске загружает их оттуда.

Оффлайн Anton

  • Пользователь
  • Сообщений: 325
  • Репутация: +7/-0
    • Просмотр профиля
    • Zelda64rus
Нужна помощь с одним файликом (GBA, LZ)
« Ответ #14 : 05 Мая 2011, 11:13:36 »
Скачал, спасибо.
Я уже в предыдущей вроде все повставлял - отдал на тестирование, человек должен проверить на родном железе. Надеюсь, все получится :)
Жду результата. Если ок - буду рисовать уже шрифт.


Добавлено позже после небольших раздумий:
А можно еще пару вопросиков? )
В аттаче картинка (для сравнения английский и немецкий варианты этого файла) - меня интересует то, что крестиками (много повторяющихся) - это пустое место? На нем можно рисовать буквы, по-идее? Как тогда вычислить коды? (таблица непонятно в какой кодировке (01=A, 02=B и т.п.)



Оффлайн TrickZter

  • Magic Team
  • Сообщений: 1324
  • Репутация: +15/-5
  • The cake is a lie.
    • Просмотр профиля
Нужна помощь с одним файликом (GBA, LZ)
« Ответ #15 : 05 Мая 2011, 16:45:40 »
Да, крестики - это просто пустое место, рисовать в нём можно. А коды, похоже, просто соответствуют номеру тайла, начиная с тайла пробела. Если вычисленный по порядковому номеру тайла код не прокатит, нужно будет искать таблицу соответствия тайлов кодам.

Оффлайн Anton

  • Пользователь
  • Сообщений: 325
  • Репутация: +7/-0
    • Просмотр профиля
    • Zelda64rus
Нужна помощь с одним файликом (GBA, LZ)
« Ответ #16 : 05 Мая 2011, 16:58:12 »
Оно вроде по порядку, но, например, тогда получается, что у цифры "5" код "3А".
Но в тексте код 3А - это какой-то спец-код.
Пробел, кстати, не 00, а FD...
Вот и думаю... Понарисовываю - а самому проверить не на чем...

Оффлайн TrickZter

  • Magic Team
  • Сообщений: 1324
  • Репутация: +15/-5
  • The cake is a lie.
    • Просмотр профиля
Нужна помощь с одним файликом (GBA, LZ)
« Ответ #17 : 05 Мая 2011, 18:23:17 »
Значит где-то таблица соответствия должна быть и без её изменения вряд ли можно будет добраться до пустых тайлов. Но проще нарисовать на месте существующих букв, благо там полно всяких европейских символов.

Оффлайн Anton

  • Пользователь
  • Сообщений: 325
  • Репутация: +7/-0
    • Просмотр профиля
    • Zelda64rus
Нужна помощь с одним файликом (GBA, LZ)
« Ответ #18 : 05 Мая 2011, 19:12:33 »
Европейских не хватает. Их как-то очень мало... Необходимый минимум только.
А английский я хочу оставить, даже по причине того, что там (насколько я знаю) будет ввод пароля (в мини-игре или х.з, но будет), а с паролями я возиться совсем не хочу - пусть они останутся латиницей.

В основном (кубовском) скрипте игры тоже есть момент с паролями пиратов - я их тоже английские оставил. (для ввода пароля вываливается экран а-ля ввод имени перед началом игры. А так как английский шрифт оставлен, что я решил пароли не трогать).



Добавлено позже после небольших раздумий:
Цитата: Anton от 05 Мая 2011, 16:58:12
у цифры "5" код "3А".
Но в тексте код 3А - это какой-то спец-код.

Посмотрел повнимательнее - ошибка в таблице была: 3A=5, таки...
Похоже, что все по порядку. Займусь шрифтом... )



Оффлайн Anton

  • Пользователь
  • Сообщений: 325
  • Репутация: +7/-0
    • Просмотр профиля
    • Zelda64rus
Нужна помощь с одним файликом (GBA, LZ)
« Ответ #19 : 16 Мая 2011, 18:09:44 »
TrickZter, а можешь еще подсказать с вот таким делом...

Есть стороны света на компасе, но выполнены они следующим образом:
см. аттач, в красной рамочке - все тайлы из которых собраны буквы N, S, E, W.
Ниже я собрал из них "пятнашки" в фотошопе.
Т.е. "Е" и "S" собраны из одного тайла, который зеркалится туда-сюда...
С остальными такая же история.

Мне нужно, собственно, вместо N, S, E, W сделать C, Ю, В, З
Это реально в данном случае?

Словосочетание "карта тайлов" я слышал, но не более того )
Что с ней делать (если это она), я тоже не осилю, наверное.


Оффлайн JurasskPark

  • Администратор
  • Сообщений: 1307
  • Репутация: +37/-666
    • Просмотр профиля
    • JurasskPark
Нужна помощь с одним файликом (GBA, LZ)
« Ответ #20 : 16 Мая 2011, 19:17:48 »
Если найдешь карту, то картинку можно составить запросто. 6 тайлов хватит за глаза. Это говорю тебе я. :)

Оффлайн Anton

  • Пользователь
  • Сообщений: 325
  • Репутация: +7/-0
    • Просмотр профиля
    • Zelda64rus
Нужна помощь с одним файликом (GBA, LZ)
« Ответ #21 : 16 Мая 2011, 19:44:43 »
Я точно не найду... ты можешь посмотреть на файлики (client_u и сlient_ud), они в аттаче выше: http://magicteam.net/forum/index.php?topic=291.msg8734#msg8734 ?

Это, вроде, последнее, что осталось из графики в этом долбаном Tingle Tuner... Обидно будет оставлять по-английски.
В основной игре (на кубе) компас давным-давно перерисован, но там гораздо проще все было ...

Оффлайн TrickZter

  • Magic Team
  • Сообщений: 1324
  • Репутация: +15/-5
  • The cake is a lie.
    • Просмотр профиля
Нужна помощь с одним файликом (GBA, LZ)
« Ответ #22 : 16 Мая 2011, 21:15:36 »
Адрес палитры: h12450 - обычная GBAшная палитра, не запакована, реструктор её может загрузить (Load from rom) и сохранить в формате ACT (Save to file).
Адрес карты: h12650 - карта запакована, её может найти и распаковать реструктор

Собрать всё воедино может джиновская тулза Map Image. Её я выкладывать не буду, так как прога всё-таки не моя, а выдранную вформате ACT палитру дам - она во вложении.

Вот так картинка выглядит в сборе:


По адресу h12EC0 находится вторая пожатая карта, правда нафига нужны эти зелёные квадраты я не знаю О_о


Ну и контрольный выстрел: h152A0 - тоже карта, правда с ещё более странным изображением, возможно оно просто "закрашивает" интерфейс из первой карты:

Оффлайн Anton

  • Пользователь
  • Сообщений: 325
  • Репутация: +7/-0
    • Просмотр профиля
    • Zelda64rus
Нужна помощь с одним файликом (GBA, LZ)
« Ответ #23 : 16 Мая 2011, 21:33:36 »
Как все интересно... )

Оффлайн JurasskPark

  • Администратор
  • Сообщений: 1307
  • Репутация: +37/-666
    • Просмотр профиля
    • JurasskPark
Нужна помощь с одним файликом (GBA, LZ)
« Ответ #24 : 16 Мая 2011, 21:34:15 »
Тут рисунок и палитра. Когда перерисуешь - отдашь назад с процентами.  :)

  • Печать
Страницы: [1] 2 3   Вверх
« предыдущая тема следующая тема »
  • Форум Magic Team »
  • Переводы, переводы, переводы... »
  • Ромхакинг и перевод »
  • Нужна помощь с одним файликом (GBA, LZ)
 

  • SMF 2.0.12 | SMF © 2011, Simple Machines
  • XHTML
  • RSS
  • Мобильная версия

  • GreenUP by Neekiinh0.

Размер занимаемой памяти: 2 мегабайта.
Страница сгенерирована за 0.092 секунд. Запросов: 73.