Как исправить баг деформации Emerald Hill Zone — различия между версиями
(Новая страница: «{{GuideBy|qiuu}} В Sonic 2 есть небольшой баг в EHZ, когда два нижних слоя неподвижны, потому что на н...») |
м |
||
(не показаны 2 промежуточные версии 2 участников) | |||
Строка 1: | Строка 1: | ||
− | {{ | + | {{Руководство|[[qiuu]]}} |
− | В Sonic 2 есть небольшой баг | + | В ''[[Sonic the Hedgehog 2]]'' есть небольшой баг на уровне [[Emerald Hill Zone]], когда два нижних слоя неподвижны, потому что на них не действует код деформации. |
Чтобы исправить это, нам потребуется исправить часть кода в роутине SwScrl_EHZ. Найдите лейбел SwScrl_RippleData, который является частью этой роутины. Прямо над ним ты увидишь вот такой кусок кода: | Чтобы исправить это, нам потребуется исправить часть кода в роутине SwScrl_EHZ. Найдите лейбел SwScrl_RippleData, который является частью этой роутины. Прямо над ним ты увидишь вот такой кусок кода: | ||
Строка 55: | Строка 55: | ||
Они зайдествовали два нижних слоя при деформации, баг успешно исправлен. | Они зайдествовали два нижних слоя при деформации, баг успешно исправлен. | ||
− | [[Категория: | + | [[Категория:Руководства]] |
Текущая версия на 09:08, 17 мая 2014
(Оригинальное руководство написано qiuu)
В Sonic the Hedgehog 2 есть небольшой баг на уровне Emerald Hill Zone, когда два нижних слоя неподвижны, потому что на них не действует код деформации.
Чтобы исправить это, нам потребуется исправить часть кода в роутине SwScrl_EHZ. Найдите лейбел SwScrl_RippleData, который является частью этой роутины. Прямо над ним ты увидишь вот такой кусок кода:
<asm> move.w #($B4)/12-1,d1 ; $B4 bytes - move.w d4,(a1)+ move.w d3,(a1)+ move.w d4,(a1)+ move.w d3,(a1)+ move.w d4,(a1)+ move.w d3,(a1)+ swap d3 add.l d0,d3 add.l d0,d3 add.l d0,d3 swap d3 dbf d1,-
rts </asm>
Замени его на этот:
<asm> move.w #($B4)/12-1,d1 ; $B4 bytes - move.w d4,(a1)+ move.w d3,(a1)+ move.w d4,(a1)+ move.w d3,(a1)+ move.w d4,(a1)+ move.w d3,(a1)+ move.w d4,(a1)+ move.w d3,(a1)+ move.w d4,(a1)+ move.w d3,(a1)+ swap d3 add.l d0,d3 add.l d0,d3 add.l d0,d3 swap d3 dbf d1,-
rts </asm>
Как видишь, здесь мы лишь дважды добавили в середину кода эти строки:
<asm> move.w d4,(a1)+ move.w d3,(a1)+ </asm>
Они зайдествовали два нижних слоя при деформации, баг успешно исправлен.