Автор Тема: Редактирование ромов game boy advance  (Прочитано 5691 раз)

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

Оффлайн Ulles

  • Пользователь
  • Сообщений: 5
    • Просмотр профиля
Привет.
Вот долго читал информацию на форумах про gba и ромхакинг.
И толькго сейчас начал пробывать все это на деле.
Изначально я хотел поменять музыку, но сейчас это желание у меня ушло, и сейчас захотелось больше поизменять графику.
Открыв ром в тайловом редакторе, я увидел половину графики игры, но того, что мне нужно я не увидел!
Просмотреть я не мог такака эти "изображения" не малы.
Вот где может быть нужное мне?
Спасибо.

Оффлайн TrickZter

  • Пользователь
  • Сообщений: 142
  • I am the bone of my sword.
    • Просмотр профиля
Re: Редактирование ромов game boy advance
« Ответ #1 : 15 Июнь 2011, 07:31:51 »
Вот где может быть нужное мне?
Оно может быть пожато. Обычно графику жмут LZом, реже Хаффманом или сочетанием обоих методов сжатия. Пожатую LZ графику можно найти моей тулзой, прога сама найдёт всё похожее на LZ и выдаст в виде списка, если там не будет того, что тебе нужно, можно попробовать минимизировать фильтрацию мусора (Minimal filtering в меню Filters). Если и после этого не найдёшь нужной графики, то нужно искать её в Хаффмане, для него таких удобных тулз пока не существует, так что нужно будет искать вручную.
« Последнее редактирование: 15 Июнь 2011, 07:36:57 от TrickZter »

Оффлайн Ulles

  • Пользователь
  • Сообщений: 5
    • Просмотр профиля
Re: Редактирование ромов game boy advance
« Ответ #2 : 15 Июнь 2011, 10:31:28 »
TrickZter, здраствуйте.
К сожалению lz алгоритмом там ничего не пожато.
Ладно буду разбираться с хаффманом.

Оффлайн Ulles

  • Пользователь
  • Сообщений: 5
    • Просмотр профиля
Re: Редактирование ромов game boy advance
« Ответ #3 : 16 Июнь 2011, 16:37:53 »
Еще хотел спросить.
В игре есть карта составленная из отдельных блоков (1блок=1тайл).
Как можно найти в hex редакторе место, где размечена карта.
Я это карту даже в MapViewer увидел в VBA
« Последнее редактирование: 16 Июнь 2011, 16:51:01 от Ulles »

Оффлайн TrickZter

  • Пользователь
  • Сообщений: 142
  • I am the bone of my sword.
    • Просмотр профиля
Re: Редактирование ромов game boy advance
« Ответ #4 : 16 Июнь 2011, 17:58:19 »
Еще хотел спросить.
В игре есть карта составленная из отдельных блоков (1блок=1тайл).
Как можно найти в hex редакторе место, где размечена карта.
Я это карту даже в MapViewer увидел в VBA
Имеешь в виду карту тайлов? Она обычно располагается непосредственно над/под картинкой. Если тайлы картинки пожаты, то карта тоже наверняка пожата. Палитра тоже должна находится где-то рядом, в большинстве случаев она не пожата, так как палитры сжимаются очень плохо.

Вот, например, картинка из игры Naruto - Ninja Council 2:

По адресу 0066314C находятся пожатые LZом тайлы (они изображены на скриншоте).
По адресу 00664A74 находится пожатая LZом палитра. Пожатые палитры - редкое явление, но в Наруте все палитры пожаты.
По адресу 00664A9C находится пожатая LZом карта картинки.

Если всё это собрать воедино, получится исходная картинка:


Большие картинки не обязательно занимают много места, если в картинке есть множество одинаковых тайлов, то разумнее всего её хранить в роме в виде набора уникальных (не повторяющихся) тайлов и карты. Во многих играх так это и делается.

Оффлайн Ulles

  • Пользователь
  • Сообщений: 5
    • Просмотр профиля
Re: Редактирование ромов game boy advance
« Ответ #5 : 16 Июнь 2011, 19:56:36 »
Большое спасибо.
А если в игре нет пожатой лз графики делать также?

Оффлайн TrickZter

  • Пользователь
  • Сообщений: 142
  • I am the bone of my sword.
    • Просмотр профиля
Re: Редактирование ромов game boy advance
« Ответ #6 : 16 Июнь 2011, 21:39:18 »
Большое спасибо.
А если в игре нет пожатой лз графики делать также?
Да неважно, пожата графика или нет, обычно палитра и карта находятся рядом. Если одна и та же палитра юзается для нескольких картинок, то она может быть над/под тайлами первой или последней из них. Бывает, что на одном наборе тайлов используется несколько карт, каждая из которых собирает свою картинку. Конечно, бывают и исключения, но обычно тайлы, палитра и карта одной и той же картинки находятся все рядом.
« Последнее редактирование: 16 Июнь 2011, 21:47:50 от TrickZter »

Оффлайн Ulles

  • Пользователь
  • Сообщений: 5
    • Просмотр профиля
Re: Редактирование ромов game boy advance
« Ответ #7 : 16 Июнь 2011, 21:58:55 »
Спасибо. теперь все понятно.