|
shedevr.org.ru Группа перевода приставочных игр "ШЕДЕВР"
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Ср Дек 19, 2007 12:26 am Заголовок сообщения: Трюки, уловки и прочие хитрости |
|
|
Собственно, продолжим создание псевдо-вики-движка
В этой теме хочу отписаться сам и попросить отписаться всех. Хочу составить базу очень полезных хитростей и хитрых полезностей, которые довольно просты в исполнении и очень облегчат перевод. Пришла мне эта мысль в голову после того, как я додумался использовать DTE(можно и MTE) без какой-либо модификации кода - посредством шрифта. В общем, привожу парочку хитростей (пока больше вспомнить не смог).
1. MTE? Шрифтом? Как!?
В общем, ломая Sword of Mana на GBA, наткнулся на проблему нехватки места для текста. Текст там должен идти последовательно (особенности поинтеров), модифицировать код на использование нормальных поинтеров было лень (хотя дело пяти минут), внедрять код анпакера - влом, юзать стандартные алгоритмы GBA - тоже не выход (сжатие каждой строки отдельно хорошего результата не даст + заголовок). И тут меня торкнуло
В общем, суть такова. Во многих играх, особенно на 32-х и более битных битных консолях чаще всего используются не моноширные шрифты, и частенько в шрифте либо уже достаточно много символов (особенно в jRPG и вообще в японских портах), либо количество символов динамическое, либо его не так трудно изменить. Так вот, можно просто рисовать несколько символов как один. Текст тот же, отображается так же, но кодируется меньшим числом байт.
Но есть проблемка - это анимация текста, но... Использование MTE типа <пробел><символ>(или наоборот) никак не скажется на анимации, но оптимизация уже будет внушительной. К примеру, в том же Sword of Mana я высвободил 64кб.
2. Нестандартный алгоритм... Неужели опять писать пакер?
Данная уловка состоит в том, что для изменения запакованных данных вам не понадобится каждый раз писать пакер. Возможно, не понадобится даже писать анпакер (распакованные ресурсы можно извлечь из виртуальной памяти консоли). Суть такова: мы слегка изменяем алгоритм распаковки игры, ставя джамп на свой кусок кода. В этом куске можем поставить либо чтение заголовка (при этом пропустим данную операцию в оригинальном коде), либо поставить проверку адреса данных, и при определённых значениях запускать свой алгоритм. Т.е. если архив родной - запускается родной алгоритм, а если же наоборот - то распаковываем сами. _________________ Работаю за деньги
KILL ALL HUMANS!!!!!111 |
|
Вернуться к началу |
|
|
Djinn RRC2008
Зарегистрирован: 16.03.2004 Сообщения: 633 Откуда: Москва
|
Добавлено: Ср Дек 19, 2007 6:13 am Заголовок сообщения: Re: Трюки, уловки и прочие хитрости |
|
|
Ничего нового ты не открыл. Всё это итак используется |
|
Вернуться к началу |
|
|
АнС RRC2008
Зарегистрирован: 08.11.2003 Сообщения: 2818
|
Добавлено: Ср Дек 19, 2007 9:51 am Заголовок сообщения: |
|
|
Если в РОМе достаточно свободного места, вместо вставки своего анпакера можно вообще поставить прямое копирование данных из ROM'а в RAM/VRAM. Оно и исполняется быстрее, и код написать достаточно просто, даже если ранее с платформой не был знаком (скажем, решил ломать N64). |
|
Вернуться к началу |
|
|
HoRRoR RRC2008
Зарегистрирован: 21.06.2006 Сообщения: 2341 Откуда: Ростов-на-Дону
|
Добавлено: Ср Дек 19, 2007 10:22 am Заголовок сообщения: Re: Трюки, уловки и прочие хитрости |
|
|
Djinn писал(а): | Ничего нового ты не открыл. Всё это итак используется |
Да в курсе я. Я ж не говорил, что все это я попадунывал. Просто хочу узнать, есть ли ещё какие-нибудь фишки, до которых я не допер сам. _________________ Работаю за деньги
KILL ALL HUMANS!!!!!111 |
|
Вернуться к началу |
|
|
|
|
Вы не можете начинать темы Вы можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
Powered by phpBB © 2001, 2005 phpBB Group
|