| Главная » Статьи » Гайды по хакингу Sonic 1 |
Находим субротину Obj3D_ShipStart. Она выглядит примерно так: Obj3D_ShipStart: ; XREF: Obj3D_ShipIndex move.w #$100,$12(a0) ; move ship down bsr.w BossMove cmpi.w #$338,$38(a0) ; has the ship reached $338 on Y-axis? bne.s Obj3D_ShipProcess ; если нет, бранч move.w #0,$12(a0) ; stop ship addq.b #2,$25(a0) ; goto next routine То, что нам надо, хранится в строчке: cmpi.w #$338,$38(a0) ; has the ship reached $338 on Y-axis? Изменяя первое значение, мы сможем установить правильную высоту полёта. Теперь про скорость. В той же самой субротине есть строчка: move.w #$100,$12(a0) ; move ship down Изменяя первое значение, мы сможем установить правильную скорость приземления. Это только для приземления. Теперь переходим к субротине Obj3D_MakeBall. Она выглядит примерно так: Obj3D_MakeBall: ; XREF: Obj3D_ShipIndex move.w #-$100,$10(a0) ; move left move.w #-$40,$12(a0) ; move slightly up bsr.w BossMove cmpi.w #$2A00,$30(a0) ; has the boss reached $2A00 on X-axis? bne.s loc_17916 ; если нет, бранч move.w #0,$10(a0) ; stop him move.w #0,$12(a0) ; addq.b #2,$25(a0) jsr SingleObjLoad2 bne.s loc_17910 move.w #$E6,d0 ; не обращай внимания сюда :) jsr PlaySound_Special ; play boss music move.b #$48,0(a1) ; load swinging ball object move.w $30(a0),8(a1) move.w $38(a0),$C(a1) move.l a0,$34(a1) Находим строчку: move.w #-$100,$10(a0) ; move left Изменяя первое значение, мы сможем установить скорость приближения корабля к центру, чтобы тот выпустил шар. Теперь изменим скорость движения с уже выпущенным шаром. Переходим к субротине Obj3D_ShipMove. Она выглядит примерно так: Obj3D_ShipMove: ; XREF: Obj3D_ShipIndex subq.w #1,$3C(a0) ; subtract 1 from timer bpl.s Obj3D_Reverse ; if time remains, branch addq.b #2,$25(a0) move.w #$3F,$3C(a0) move.w #$100,$10(a0) ; move the ship sideways cmpi.w #$2A00,$30(a0) ; has the boss reached $2A00 on X-axis? bne.s Obj3D_Reverse ; если нет, бранч move.w #$7F,$3C(a0) ; set timer to $7F move.w #$40,$10(a0) Находим строку: move.w #$100,$10(a0) ; move the ship sideways Изменяя первое значение, мы сможем настроить правильную скорость полёта корабля с уже выпущенным шаром. Кмпилируем, проверяем. | |
| Просмотров: 1292 | |
| Всего комментариев: 0 | |