Описание: "Вмещаемость" в contra |
Поиск в теме | Версия для печати |
FastCat |
Отправлено: 01 Июня, 2020 - 17:01:56
|
Покинул форум
Сообщений всего: 11
Дата рег-ции: Май 2020
|
я пытался по этому руководству сделать, но нифига не получается:
https://shedevr.org.ru/cgi-bin/docs.cgi?n=3
а еще я нашел эту прогу "Griever's pointer searcher", я так понимаю что это еще упрощает процесс, т.е. вбиваю адрес первой буквы и она находит мне сразу поинтер, так я понимаю?
Ну нашел допустим я поинтер слова PLAY, нашел поинтер второго слова SELECT, чтобы понять хоть что это работает, я вторым поинтером заменял первый, т.е. по сути как я понимаю должно было вывести при запуске игры SELECT SELECT, а в итоге ничего не изменилось. Значит я что-то делаю не так((((Отредактировано автором: 01 Июня, 2020 - 17:12:07) |
|
|
FastCat |
Отправлено: 02 Июня, 2020 - 00:32:46
|
Покинул форум
Сообщений всего: 11
Дата рег-ции: Май 2020
|
Mefistotel пишет:FastCat пишет:Я так все делаю?
Да, всё верно, только у тебя таблица неполная. Добавь /00 - это пробел.
Ищи младший байт D5 выше или ниже текста в близости от текста. Меняй и проверяй.
Может быть так, что указатель на каждую строку идёт отдельно в коде и быть в самом начале рома.
Добавил в таблицу пробел, перенос и окончание текста Прикреплено изображение
(Отредактировано автором: 02 Июня, 2020 - 01:08:37) |
|
|
FastCat |
Отправлено: 02 Июня, 2020 - 15:16:14
|
Покинул форум
Сообщений всего: 11
Дата рег-ции: Май 2020
|
Фиг поймешь вас, один говорит что нужно 10 отнимать, другой 12, на шедевре жирным текстом написано "от всех адресов надо отнимать 10 байт". Один говорит посмотри одну инструкцию, другой эта не то, смотри другую, в итоге в той другой, а именно во второй части про пойнтеры, как показано на примере игры Double Dragon 3 так там почему то адрес берется ВООБЩЕ не первой буквы, а то что перед ней, и как тут что понять, хз....... |
|
|
Mefistotel |
Отправлено: 02 Июня, 2020 - 23:45:15
|
Chief-Net
Покинул форум
Сообщений всего: 7128
Дата рег-ции: Окт. 2014
Откуда: МАГАДАН
|
Хоть кто-то нашёл время скачать ром и посмотреть.)))
FastCat, в моей доке нет никакой ошибки, просто надо знать адрес начала строки, если указатели стандартные. Строки не всегда начинаются с первой буквы слова. Перед словом могут идти координаты вывода строк, ширина строки и другие служебные байты. Пойнтер будет указывать именно на них.
Что касается данной игры, то Конами в своих играх всегда сжимали текст на титульниках, экранах копирайтов и прочих. Используй программу RLE Coder с сайта, только нужно найти адрес начала сжатой карты.
P.S. Сейчас скажет, что "третий про какую-то тайловую карту несёт"🤣
P.P.S. Изменил название темы.
----- "Перевод старых игр - отличная возможность понять, как устроены программы, подучить иностранный язык и поднять уровень владения родным. Ну и конечно, это просто возможность "общения" со своей любимой игрой детства." © Dimouse |
|
|
FastCat |
Отправлено: 03 Июня, 2020 - 00:52:32
|
Покинул форум
Сообщений всего: 11
Дата рег-ции: Май 2020
|
Mefistotel пишет:Хоть кто-то нашёл время скачать ром и посмотреть.)))
FastCat, в моей доке нет никакой ошибки, просто надо знать адрес начала строки, если указатели стандартные. Строки не всегда начинаются с первой буквы слова. Перед словом могут идти координаты вывода строк, ширина строки и другие служебные байты. Пойнтер будет указывать именно на них.
Что касается данной игры, то Конами в своих играх всегда сжимали текст на титульниках, экранах копирайтов и прочих. Используй программу RLE Coder с сайта, только нужно найти адрес начала сжатой карты.
P.S. Сейчас скажет, что "третий про какую-то тайловую карту несёт"🤣
P.P.S. Изменил название темы.
Ну вот вразумительный ответ! Про тайловые карты я уже понял потому что решил открыть программу yychr и просмотреть ром, в итоге алфавита там не нашел, так как графика пожата. Кстати, похожая ситуация с играми от Codemaster |
|
|
BoreS |
Отправлено: 03 Июня, 2020 - 00:54:44
|
Покинул форум
Сообщений всего: 322
Дата рег-ции: Окт. 2014
Откуда: Кировскъ, Мурманской обл.
|
FastCat пишет:Ну слушай если доки с ошибками, то как по ним что понимать? Ты сначала сам проверь прежде чем чесать языком и строить из себя героя защитника.
Я не строю из себя защитника, и не чешу языком. Если ты чего-то не понимаешь или лень что-то проверить, то это твои проблемы, а не ошибки въ докахъ. И такие люди просто раздражаютъ. Сами даже не хотятъ разбираться, но виноваты все вокругъ, особенно те, кто посылаетъ хотя бы документацию почитать и вникнуть въ неё.
Скажи ещё спасибо, что здесь люди добрые и нянчатся съ тобой. На шедевре бы быстро послали съ такими вопросами. |
|
|
FastCat |
Отправлено: 03 Июня, 2020 - 00:59:06
|
Покинул форум
Сообщений всего: 11
Дата рег-ции: Май 2020
|
BoreS пишет:FastCat пишет:Ну слушай если доки с ошибками, то как по ним что понимать? Ты сначала сам проверь прежде чем чесать языком и строить из себя героя защитника.
Я не строю из себя защитника, и не чешу языком. Если ты чего-то не понимаешь или лень что-то проверить, то это твои проблемы, а не ошибки въ докахъ. И такие люди просто раздражаютъ. Сами даже не хотятъ разбираться, но виноваты все вокругъ, особенно те, кто посылаетъ хотя бы документацию почитать и вникнуть въ неё.
Скажи ещё спасибо, что здесь люди добрые и нянчатся съ тобой. На шедевре бы быстро послали съ такими вопросами.
Заплачь еще возьми. |
|
|
Guyver |
Отправлено: 04 Июня, 2020 - 11:26:17
|
Chief-Net
Покинул форум
Сообщений всего: 10119
Дата рег-ции: Окт. 2014
Откуда: Магадан
|
В общем, можно лого править без труда, но соблюдать при этом определённые правила. Правим по адресу h000918B в роме:
Старый код:
Цитата:/00/8BPLAY/00SELECT
/04/00/85/E4/E5/F0/F1/F2/1A/00/8 8/F3/F4/F5/C5/C6/C7/C8/C9/0C/00/ 881/00
PLAYER/03/00/85/CA/CB/CC/CD/CE/0 3/00/82/EF/D6/15/00/86/D9/DA/DB/ DC
/DD/DE/04/00/81/E6/0B/00/902/00P LAYERS/00/E9/EA/EB/EC/ED/EE/04/0 0/81
/F6/17/00/84/D7/D8/E7/E8/13/00/8 DTM/00AND/00/C3/001988/0E/00
/97KONAMI/00INDUSTRY/00CO.,LTD/10/00
/8BLICENSED/00BY/0E/00/97NINTEND O/00OF/00AMERICA
/00INCM/00/83/A0/A0/20/06/00/82XR/03P/83/00/00/20/05/05/05/00/83/CC/FF
Новый код:
Цитата:/00/8EPLAY/00SELECTION
/04/00/85/E4/E5/F0/F1/F2/1A/00/8 8/F3/F4/F5/C5/C6/C7/C8/C9/0C/00/ 881/00
PLAYER/03/00/85/CA/CB/CC/CD/CE/0 3/00/82/EF/D6/15/00/86/D9/DA/DB/ DC
/DD/DE/04/00/81/E6/0B/00/902/00P LAYERS/00/E9/EA/EB/EC/ED/EE/04/0 0/81
/F6/17/00/84/D7/D8/E7/E8/13/00/8 DTM/00AND/00/C3/001988/0E/00
/94KON/00INDUSTRY/00CO.,LTD/10/00
/8BLICENSED/00BY/0E/00/97NINTEND O/00OF/00AMERICA
/00INCM/00/83/A0/A0/20/06/00/82XR/03P/83/00/00/20/05/05/05/00/83/CC/FF
SELECT - добавил 3 буквы, поэтому /8B увеличил на 3 и стало /8E
Удлиннил я слово на 3 буквы за счёт слова /97KONAMI (можно за счёт чего-то другого, или даже 1 байт за счёт одного, а оставшиеся 2 байта уже за счёт чего-то другого)
Поэтому стало /94KON (сократил слово на 3 байта и длину его тоже уменьшил на 3)
Как видно, посдвигались и остальные картинки. Поэтому их тоже все придётся двигать (искать что и где сдвигается), соблюдая баланс - подвинул что-то на 1 байт вправо - должен подвинуть на 1 байт влево что-то другое. Иначе будет каша вместо экрана...
После приведения экрана в порядок, если потребуется, то придётся искать, где задаётся цвет разных частей картинки, так как картинки сдвинутся, а их "цветовая матрица" останется на старом месте. И если буквы какие-то в неё попадут - у них будет другой цвет и его придётся менять. В общем, веселья будет много!
Т.е. просто методом проб и ошибок можно сдвинуть всё как нужно. Нужно найти и понять за что отвечает каждый байт за/перед очередным словом и т.д. Это не так сложно. Но использовать при этом только не хекс редактор, там это ОЧЕНЬ трудно будет сделать! Круптар с заданием нулевых поинтеров подойдёт для этих целей в самый раз...
П.С. Алфавит в игре прекрасно ищется и редактируется в формате 1bpp. Он легко перерисовывается в DjinnTileMapper'е по адресу карты тайлов 12FD7.
----- Я не волшебник - я только учусь... |
|
|
|
Поиск в теме | Версия для печати |
Страниц (1): [1] |
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0) |
« Базовый хакинг » |
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
|
|
|