Описание: Принцип работы |
Поиск в теме | Версия для печати |
Voodoo |
Отправлено: 20 Января, 2016 - 02:41:29
|
Покинул форум
Сообщений всего: 137
Дата рег-ции: Июнь 2015
|
Voodoo
В общем дело такое, если кого не затруднит, прошу помочь и объяснить, как нужно менять указатели, чтобы увеличить или уменьшить длину строки.
Я приведу пример из рома, который мне знаком, это Pokemon Sapphire (GBA).
(0x001C6D08) 1862921 Hi! Sorry to keep you waiting!|Welcome to the world...
Поинтеры адреса Ofs
086D1C08 (0x0000A3C0) 1862921
886D1C08 (0x0000A410) 1863049
AA6D1C08 (0x0000A558) 1863083
1862921 Hi! Sorry to keep you waiting!|Welcome to the world of POKёMON!|My name is BIRCH.|But everyone calls me the POKёMON\PROFESSOR.|
1863049 This is what we call a “POKёMON.”
1863083 This world is widely inhabited by\creatures known as POKёMON.|We humans live alongside POKёMON,\at times as friendly playmates, and@at times as cooperative workmates.|And sometimes, we band together\and battle others like us.|But despite our closeness, we don’t\know everything about POKёMON.|In fact, there are many, many\secrets surrounding POKёMON.|To unravel POKёMON mysteries,\I’ve been undertaking research.@That’s what I do.|
Судя по всему поинтеры тут абсолютные, т.к. находил я их пользуясь этой формулой Ptr = 0x33A54 + 0x08000000 = 0x8033A54. |
|
|
Guyver |
Отправлено: 20 Января, 2016 - 02:43:53
|
Chief-Net
Покинул форум
Сообщений всего: 9981
Дата рег-ции: Окт. 2014
Откуда: Магадан
|
Guyver
Т.е. у тебя например 2 поинтера и текст
/ - перенос строки
FF - окончание строки
vasia/go*home.FF
hurry*up!FF
Всего 25 символов, включая символы окончания диалога и переноса.
ты пишешь
вася/иди*домой.FF
скорее!FF*
На старое место влезло, даже 1 символ лишний, но его в игре не будет, так как символ окончания строки до него стоит.
Написал текст - и переделывай поинтеры, чтобы они указывали на новый текст. 1-ый поинтер не изменится, так как начало одинаковое, а вот второй изменится, так как 1-ая фраза стала на русском длиннее, и начало 2-ой фразы сдвинулось... Ффффссёёёёё...
----- Я не волшебник - я только учусь... |
|
|
alex_231 |
Отправлено: 20 Января, 2016 - 02:59:40
|
Chief-Net
Покинул форум
Сообщений всего: 4687
Дата рег-ции: Окт. 2014
|
alex_231
Ну да, так действительно проще, только если под шрифт останется достаточно места, чтобы остальной алфавит поместился.
Если же нет, то нужно менять параметры вывода текста (то есть изменять саму программу вывода надписей), но тут два варианта, в зависимости от того, как выводятся эти надписи: кодами тайлов напрямую в карту тайлов в видеопамяти, либо графикой в видеопамять, со статичной картой тайлов.
----- Делая выбор, отбрось простое решение и выбери правильное...
|
|
|
|
Поиск в теме | Версия для печати |
Страниц (1): [1] |
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0) |
« Базовый хакинг » |
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
|
|
|