Список форумов shedevr.org.ru shedevr.org.ru
Группа перевода приставочных игр "ШЕДЕВР"
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Трюки, уловки и прочие хитрости

 
Начать новую тему   Ответить на тему    Список форумов shedevr.org.ru -> Экстремальный ромхакинг
Предыдущая тема :: Следующая тема  
Автор Сообщение
HoRRoR
RRC2008
RRC2008


Зарегистрирован: 21.06.2006
Сообщения: 2341
Откуда: Ростов-на-Дону

СообщениеДобавлено: Ср Дек 19, 2007 12:26 am    Заголовок сообщения: Трюки, уловки и прочие хитрости Ответить с цитатой

Собственно, продолжим создание псевдо-вики-движка Smile
В этой теме хочу отписаться сам и попросить отписаться всех. Хочу составить базу очень полезных хитростей и хитрых полезностей, которые довольно просты в исполнении и очень облегчат перевод. Пришла мне эта мысль в голову после того, как я додумался использовать DTE(можно и MTE) без какой-либо модификации кода - посредством шрифта. В общем, привожу парочку хитростей (пока больше вспомнить не смог).

1. MTE? Шрифтом? Как!?
В общем, ломая Sword of Mana на GBA, наткнулся на проблему нехватки места для текста. Текст там должен идти последовательно (особенности поинтеров), модифицировать код на использование нормальных поинтеров было лень (хотя дело пяти минут), внедрять код анпакера - влом, юзать стандартные алгоритмы GBA - тоже не выход (сжатие каждой строки отдельно хорошего результата не даст + заголовок). И тут меня торкнуло Idea
В общем, суть такова. Во многих играх, особенно на 32-х и более битных битных консолях чаще всего используются не моноширные шрифты, и частенько в шрифте либо уже достаточно много символов (особенно в jRPG и вообще в японских портах), либо количество символов динамическое, либо его не так трудно изменить. Так вот, можно просто рисовать несколько символов как один. Текст тот же, отображается так же, но кодируется меньшим числом байт.
Но есть проблемка - это анимация текста, но... Использование MTE типа <пробел><символ>(или наоборот) никак не скажется на анимации, но оптимизация уже будет внушительной. К примеру, в том же Sword of Mana я высвободил 64кб.

2. Нестандартный алгоритм... Неужели опять писать пакер?
Данная уловка состоит в том, что для изменения запакованных данных вам не понадобится каждый раз писать пакер. Возможно, не понадобится даже писать анпакер (распакованные ресурсы можно извлечь из виртуальной памяти консоли). Суть такова: мы слегка изменяем алгоритм распаковки игры, ставя джамп на свой кусок кода. В этом куске можем поставить либо чтение заголовка (при этом пропустим данную операцию в оригинальном коде), либо поставить проверку адреса данных, и при определённых значениях запускать свой алгоритм. Т.е. если архив родной - запускается родной алгоритм, а если же наоборот - то распаковываем сами.
_________________
Работаю за деньги
KILL ALL HUMANS!!!!!111
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Djinn
RRC2008
RRC2008


Зарегистрирован: 16.03.2004
Сообщения: 633
Откуда: Москва

СообщениеДобавлено: Ср Дек 19, 2007 6:13 am    Заголовок сообщения: Re: Трюки, уловки и прочие хитрости Ответить с цитатой

Ничего нового ты не открыл. Всё это итак используется Wink
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
АнС
RRC2008
RRC2008


Зарегистрирован: 08.11.2003
Сообщения: 2818

СообщениеДобавлено: Ср Дек 19, 2007 9:51 am    Заголовок сообщения: Ответить с цитатой

Если в РОМе достаточно свободного места, вместо вставки своего анпакера можно вообще поставить прямое копирование данных из ROM'а в RAM/VRAM. Оно и исполняется быстрее, и код написать достаточно просто, даже если ранее с платформой не был знаком (скажем, решил ломать N64).
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
HoRRoR
RRC2008
RRC2008


Зарегистрирован: 21.06.2006
Сообщения: 2341
Откуда: Ростов-на-Дону

СообщениеДобавлено: Ср Дек 19, 2007 10:22 am    Заголовок сообщения: Re: Трюки, уловки и прочие хитрости Ответить с цитатой

Djinn писал(а):
Ничего нового ты не открыл. Всё это итак используется Wink

Да в курсе я. Я ж не говорил, что все это я попадунывал. Просто хочу узнать, есть ли ещё какие-нибудь фишки, до которых я не допер сам.
_________________
Работаю за деньги
KILL ALL HUMANS!!!!!111
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов shedevr.org.ru -> Экстремальный ромхакинг Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group