| Разработка и ромхакинг > Ромхакинг и программирование |
| Дерганный скроллинг Ottifants/Fiore and Ice (sms) |
| (1/1) |
| gotten:
Возможно ли пофиксить скроллинг в играх Fire and Ice и Ottifants (Sega Master System)? Они по ходу на одном движке, камера абсолютно одинаково работает. Делаешь шаг в одну или другую сторону, экран черезчур быстро прокручивается, в итоге геймплей очень нервный и дерганный получается. Можно посмотреть эти игры на старших платформах и убедится, что это не есть норма. Скорее недоработка программистов при разработке данных портов. Как вообще такая задача, очень сложная? |
| Sharpnull:
В MD версии похоже фиксированная камера по горизонтали. Видимо в SMS разработчикам показался экран маленьким. Попробуйте такое исправление. Впервые использовал эмулятор Emulicious, нормальный отладчик. Изменения в роме такие: $2CD9: 29 29 29 29 -> 00 00 00 00. Каждый байт умножал на 2. Если убрать, то не будет "плавного" возврата. $2D05: 80 06 -> 80 07. Смещение камеры относительно героя. Читать как Little-Endian, биты сдвинуты на 4 влево. Т. е. 00 00 -> 00 - герой слева рядом со стеной, поставил 80 07 -> 78 - так ближе к центру, если считать ширину экрана 248. $2D0C: 00 02 -> 00 00. Длина промежутка между которым персонаж двигается, не изменяя камеру. Т. е. чем выше значение, тем ближе нужно подойди к краю экрана, чтобы камера начала двигаться. Значение имеет тип как $2D05 и связано с ним, нужно изменять вместе, чтобы края сдвигающие экран были симметричны. -------- Добавил Fire & Ice по аналогии, адреса соответствуют так: $4CBF: 29 29 29 29 $4CEB: 80 06 $4CF2: 00 02 -------- Обновил ромы, сделал установку нулей в регистр HL, чтобы убрать смещение камеры совсем, если упереться в стену это было заметно. Перед $2CD9 и $4CBF адрес для чтения в HL, заменил на адрес с нулями (на $2CD9 и $4CBF где уже есть нули). |
| gotten:
Sharpnull, большое спасибо, играть стало значительно приятнее. |
| Навигация |
| Главная страница сообщений |