Разработка и ромхакинг > Ромхакинг и программирование
Редактирование ромов game boy advance
(1/1)
Ulles:
Привет.
Вот долго читал информацию на форумах про gba и ромхакинг.
И толькго сейчас начал пробывать все это на деле.
Изначально я хотел поменять музыку, но сейчас это желание у меня ушло, и сейчас захотелось больше поизменять графику.
Открыв ром в тайловом редакторе, я увидел половину графики игры, но того, что мне нужно я не увидел!
Просмотреть я не мог такака эти "изображения" не малы.
Вот где может быть нужное мне?
Спасибо.
TrickZter:

--- Цитата: Ulles от 14 Июнь 2011, 22:25:20 ---Вот где может быть нужное мне?
--- Конец цитаты ---
Оно может быть пожато. Обычно графику жмут LZом, реже Хаффманом или сочетанием обоих методов сжатия. Пожатую LZ графику можно найти моей тулзой, прога сама найдёт всё похожее на LZ и выдаст в виде списка, если там не будет того, что тебе нужно, можно попробовать минимизировать фильтрацию мусора (Minimal filtering в меню Filters). Если и после этого не найдёшь нужной графики, то нужно искать её в Хаффмане, для него таких удобных тулз пока не существует, так что нужно будет искать вручную.
Ulles:
TrickZter, здраствуйте.
К сожалению lz алгоритмом там ничего не пожато.
Ладно буду разбираться с хаффманом.
Ulles:
Еще хотел спросить.
В игре есть карта составленная из отдельных блоков (1блок=1тайл).
Как можно найти в hex редакторе место, где размечена карта.
Я это карту даже в MapViewer увидел в VBA
TrickZter:

--- Цитата: Ulles от 16 Июнь 2011, 16:37:53 ---Еще хотел спросить.
В игре есть карта составленная из отдельных блоков (1блок=1тайл).
Как можно найти в hex редакторе место, где размечена карта.
Я это карту даже в MapViewer увидел в VBA

--- Конец цитаты ---
Имеешь в виду карту тайлов? Она обычно располагается непосредственно над/под картинкой. Если тайлы картинки пожаты, то карта тоже наверняка пожата. Палитра тоже должна находится где-то рядом, в большинстве случаев она не пожата, так как палитры сжимаются очень плохо.

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

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

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


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

--- Цитата: Ulles от 16 Июнь 2011, 19:56:36 ---Большое спасибо.
А если в игре нет пожатой лз графики делать также?

--- Конец цитаты ---
Да неважно, пожата графика или нет, обычно палитра и карта находятся рядом. Если одна и та же палитра юзается для нескольких картинок, то она может быть над/под тайлами первой или последней из них. Бывает, что на одном наборе тайлов используется несколько карт, каждая из которых собирает свою картинку. Конечно, бывают и исключения, но обычно тайлы, палитра и карта одной и той же картинки находятся все рядом.
Ulles:
Спасибо. теперь все понятно.
Навигация
Главная страница сообщений

Перейти к полной версии