MENU
Главная » Статьи » Гайды по хакингу Sonic 1

Альтернаивная графика титульника в Sonic 1

Открываем sonic1.asm и находим "Nem_GHZ_1st:" Там будет что-то вроде этого:
 

; ---------------------------------------------------------------------------
; Compressed graphics - primary patterns and block mappings
; ---------------------------------------------------------------------------
Blk16_GHZ: incbin map16\ghz.bin
 even
Nem_GHZ_1st: incbin artnem\8x8ghz1.bin; GHZ primary patterns
 even
Nem_GHZ_2nd: incbin artnem\8x8ghz2.bin; GHZ secondary patterns
 even
Blk256_GHZ: incbin map256\ghz.bin
 even


(Я убрал последние 4 строчки из гида, так как при замене на второй код на Sonic Retro, у вас глюкнул бы лабиринт).
И заменим на это:
 

; ---------------------------------------------------------------------------
; Compressed graphics - primary patterns and block mappings
; ---------------------------------------------------------------------------
Blk16_GHZ: incbin map16\ghz.bin
 even
Nem_GHZ_1st: incbin artnem\8x8ghz1.bin; GHZ primary patterns
 even
Nem_GHZ_2nd: incbin artnem\8x8ghz2.bin; GHZ secondary patterns
 even
Blk256_GHZ: incbin map256\ghz.bin
 even
Blk16_TS: incbin map16\ts.bin
 even
Nem_TS_1st: incbin artnem\8x8ts1.bin; GHZ primary patterns
 even
Blk256_TS: incbin map256\ts.bin
 even


Теперь ищем "Title_LoadText:". Вы увидите:
 

Title_LoadText:
 move.w (a5)+,(a6)
 dbf d1,Title_LoadText; load uncompressed text patterns
 
 move.b #0,($FFFFFE30).w; clear lamppost counter
 move.w #0,($FFFFFE08).w; disable debug item placement mode
 move.w #0,($FFFFFFF0).w; disable debug mode
 move.w #0,($FFFFFFEA).w
 move.w #0,($FFFFFE10).w; set level to GHZ (00)
 move.w #0,($FFFFF634).w; disable palette cycling
 bsr.w LevelSizeLoad
 bsr.w DeformBgLayer
 lea ($FFFFB000).w,a1
 lea (Blk16_GHZ).l,a0; load GHZ 16x16 mappings
 move.w #0,d0
 bsr.w EniDec
 lea (Blk256_GHZ).l,a0; load GHZ 256x256 mappings
 lea ($FF0000).l,a1
 bsr.w KosDec
 bsr.w LevelLayoutLoad
 bsr.w Pal_FadeFrom
 move #$2700,sr
 bsr.w ClearScreen
 lea ($C00004).l,a5
 lea ($C00000).l,a6
 lea ($FFFFF708).w,a3
 lea ($FFFFA440).w,a4
 move.w #$6000,d2
 bsr.w LoadTilesFromStart2
 lea ($FF0000).l,a1
 lea (Eni_Title).l,a0; load title screen mappings
 move.w #0,d0
 bsr.w EniDec
 lea ($FF0000).l,a1
 move.l #$42060003,d0
 moveq #$21,d1
 moveq #$15,d2
 bsr.w ShowVDPGraphics
 move.l #$40000000,($C00004).l
 lea (Nem_GHZ_1st).l,a0; load GHZ patterns
 bsr.w NemDec
 moveq #1,d0; load title screen palette
 bsr.w PalLoad1
 move.b #$8A,d0; play title screen music
 bsr.w PlaySound_Special
 move.b #0,($FFFFFFFA).w; disable debug mode
 move.w #$178,($FFFFF614).w; run title screen for $178 frames
 lea ($FFFFD080).w,a1
 moveq #0,d0
 move.w #7,d1


Берёте и заменяете на это:
 

Title_LoadText:
 move.w (a5)+,(a6)
 dbf d1,Title_LoadText; load uncompressed text patterns
 
 move.b #0,($FFFFFE30).w; clear lamppost counter
 move.w #0,($FFFFFE08).w; disable debug item placement mode
 move.w #0,($FFFFFFF0).w; disable debug mode
 move.w #0,($FFFFFFEA).w
 move.w #0,($FFFFFE10).w; set level to GHZ (00)
 move.w #0,($FFFFF634).w; disable palette cycling
 bsr.w LevelSizeLoad
 bsr.w DeformBgLayer
 lea ($FFFFB000).w,a1
 lea (Blk16_TS).l,a0; load GHZ 16x16 mappings
 move.w #0,d0
 bsr.w EniDec
 lea (Blk256_TS).l,a0; load GHZ 256x256 mappings
 lea ($FF0000).l,a1
 bsr.w KosDec
 bsr.w LevelLayoutLoad
 bsr.w Pal_FadeFrom
 move #$2700,sr
 bsr.w ClearScreen
 lea ($C00004).l,a5
 lea ($C00000).l,a6
 lea ($FFFFF708).w,a3
 lea ($FFFFA440).w,a4
 move.w #$6000,d2
 bsr.w LoadTilesFromStart2
 lea ($FF0000).l,a1
 lea (Eni_Title).l,a0; load title screen mappings
 move.w #0,d0
 bsr.w EniDec
 lea ($FF0000).l,a1
 move.l #$42060003,d0
 moveq #$21,d1
 moveq #$15,d2
 bsr.w ShowVDPGraphics
 move.l #$40000000,($C00004).l
 lea (Nem_TS_1st).l,a0; load GHZ patterns
 bsr.w NemDec
 moveq #1,d0; load title screen palette
 bsr.w PalLoad1
 move.b #$8A,d0; play title screen music
 bsr.w PlaySound_Special
 move.b #0,($FFFFFFFA).w; disable debug mode
 move.w #$178,($FFFFF614).w; run title screen for $178 frames
 lea ($FFFFD080).w,a1
 moveq #0,d0
 move.w #7,d1


Теперь надо сделать файлы. Для этого скопируйте и переименуйте ghz.bin в ts.bin в папках map16 и map256. А также в папке artnem файл 8x8ghz1.bin переименуйте в 8x8ts.bin. Теперь нам нужен проект для SonEd'а. Примерно такой:
 

Type: 1 

Zone ID: 0
Act ID: 0

Object Def: objdef\s1obj

8x8 Tiles: ..\artnem\8x8ts.bin

16x16 Tiles: ..\map16\ts.bin

256x256 Tiles: ..\map256\ts.bin

FG Layout: ..\levels\blank.bin
BG Layout: ..\levels\ghzbg.bin

Objects: ..\objpos\blank.bin

Palettes-

 Number of files: 1

 Palette 1-

 Start index: 0
 Number of entries: 64
 File: ..\palette\title.bin

Angle Array: ..\collide\anglemap.bin
Collision Array: ..\collide\colarray_n.bin
Rotated Collision Array: ..\collide\colarray_r.bin

Collision Index 1: ..\collide\blank.bin

-EOF-


Если у вас вместо нормального проекта чёрный экран, то замените на это:
 

Type: 1 

Zone ID: 0
Act ID: 0

Object Def: objdef\s1obj

8x8 Tiles: ..\artnem\8x8ts.bin

16x16 Tiles: ..\map16\ts.bin

256x256 Tiles: ..\map256\ts.bin

FG Layout: ..\levels\blank.bin
BG Layout: ..\levels\ghzbg.bin

Objects: ..\objpos\blank.bin

Palettes-

 Number of files: 2

 Palette 1-

 Start index: 0
 Number of entries: 16
 File: ..\pallet\sonic.bin

 Palette 2-

 Start index: 16
 Number of entries: 48
 File: ..\pallet\ghz.bin

Angle Array: ..\collide\anglemap.bin
Collision Array: ..\collide\carray_n.bin
Rotated Collision Array: ..\collide\carray_r.bin

Collision Index 1: ..\collide\blank.bin

-EOF-


Ну, а если вы пользуетесь S1HS, то такой :
 

Type: 1 

Zone ID: 0
Act ID: 0

Object Def: objdef\s1obj

8x8 Tiles: ..\SourceCode\artnem\8x8ghz1.bin

16x16 Tiles: ..\SourceCode\map16\ghz.bin

256x256 Tiles: ..\SourceCode\map256\ghz.bin

FG Layout: ..\SourceCode\levels\ghz1.bin
BG Layout: ..\SourceCode\levels\ghzbg.bin

Objects: ..\SourceCode\objpos\ghz1.bin

Palettes-

 Number of files: 2

 Palette 1-

 Start index: 0
 Number of entries: 16
 File: ..\SourceCode\pallet\sonic.bin

 Palette 2-

 Start index: 16
 Number of entries: 48
 File: ..\SourceCode\pallet\ts.bin

Angle Array: ..\SourceCode\collide\anglemap.bin
Collision Array: ..\SourceCode\collide\carray_n.bin
Rotated Collision Array: ..\SourceCode\collide\carray_r.bin

Collision Index 1: ..\SourceCode\collide\ghz.bin

-EOF-
Категория: Гайды по хакингу Sonic 1 | Добавил: tntheromhacker (18.08.2016)
Просмотров: 676 | Рейтинг: 0.0/0
Всего комментариев: 0
avatar