Как исправить Walk-Jump Bug в Sonic 1 — различия между версиями
NeKit (обсуждение | вклад) м (Замена текста — «Как сделать...» на «Руководства») |
Red TF (обсуждение | вклад) м (Замена текста — «{{GuideBy|» на «{{Руководство|») |
||
Строка 1: | Строка 1: | ||
− | {{ | + | {{Руководство|[[Cinossu]]}} |
В первом Сонике есть замечательный баг, когда Соник прыгает с анимацией ходьбы. Он часто происходит в MZ и LZ и из-за него мы теряем наши драгоценные кольца. Но вы можете остановить это безобразие. | В первом Сонике есть замечательный баг, когда Соник прыгает с анимацией ходьбы. Он часто происходит в MZ и LZ и из-за него мы теряем наши драгоценные кольца. Но вы можете остановить это безобразие. |
Текущая версия на 16:03, 18 февраля 2013
(Оригинальное руководство написано Cinossu)
В первом Сонике есть замечательный баг, когда Соник прыгает с анимацией ходьбы. Он часто происходит в MZ и LZ и из-за него мы теряем наши драгоценные кольца. Но вы можете остановить это безобразие.
Для этого нам придется несколько подправить главного виновника бага — суброутину SolidObject. Найдите лейбел loc_FB92, который к ней относится. Его код будет выглядеть как-то так:
<asm> loc_FB92: btst #5,$22(a0) beq.s loc_FBAC move.w #1,$1C(a1) ; use walking animation
loc_FBA0: bclr #5,$22(a0) </asm>
Замените код выше на это:
<asm> loc_FB92: btst #5,$22(a0) beq.s loc_FBAC cmp.b #2,$1C(a1) ; check if in jumping/rolling animation beq.s loc_FBA0 move.w #1,$1C(a1) ; use walking animation
loc_FBA0: bclr #5,$22(a0) </asm>
Вот и все! Баг исправлен. Скомпилируйте ваш РОМ и убедитесь в этом.