Actions

SCHG How-to

Add Dynamic Palettes to Sonic 2 SMS

From Sonic Retro

(Original guide by Mikel)

Ok, if you have been playing Sonic 2 SMS in the past, you may notice that four zones in the game lack the use of Dynamic Palettes, as only three of the zones in the original game use them. The four zones that lacked Dynamic Palettes were:

Underground Zone, Green Hills Zone, Gimmick Mountain Zone and Scrambled Egg Zone.

So, if you want to add Dynamic Palettes for those four zones in Sonic 2 SMS, follow these instrcutions below:

First, go to LevelPaletteValues in the Sonic 2 SMS disassembly, located in src/s2.asm, and you will get something like this:

LevelPaletteValues:
.db $0E, $09
.db $0E, $09
.db $0E, $09
;shz
.db $0F, $05
.db $10, $06
.db $0F, $05
;alz
.db $11, $07
.db $12, $08
.db $11, $07
;ghz
.db $13, $04
.db $13, $04
.db $13, $04

.db $14, $0A
.db $14, $0A
.db $14, $0A

.db $15, $0B
.db $15, $0B
.db $15, $0B

.db $16, $0C
.db $16, $0C
.db $17, $0D

Take a look at Underground Zone for example:

.db $0E, $09
.db $0E, $09
.db $0E, $09

As you can see, $0E is the zone palette for Underground Zone, and $09 is the palette for Sonic in Underground Zone.

Then, Open up Aspect Edit, and click on the Open Palette button: AspectEditOpenPalette.png

Right now, we are going to edit Underground Zone's palette, so click on "palette_ugz.bin" (Which is located in the palettes folder) in the file browser: AspectEditPaletteFile.png

Then, you can edit the colors in the palette, after you're done, click the Save Palette as button: AspectEditPaletteEditor.png When it asks for a new filename, save it as "palette_ugz2.bin" for Act 2, and "palette_ugz3.bin" for Act 3.

For GHZ, do the same method, but open "palette_ghz.bin", and save it as "palette_ghz2.bin" for Act 2, and "palette_ghz3.bin" for Act 3.

Same goes for SEZ, and GMZ. open "palette_sez.bin" for SEZ, and "palette_gmz.bin" for GMZ, for SEZ, save it as "palette_sez2.bin" for Act 2, and "palette_sez3.bin" for Act 3. And for GMZ, save it as "palette_gmz2.bin" for Act 2, and "palette_gmz3.bin" for Act 3.

Then, If you want Underground to go through a Day-to-Night, do this:

;ugz
.db $0E, $09
.db $2F, $09
.db $30, $09

And for Green Hills Zone to Scrambled Egg, do this:

;ghz
.db $13, $04
.db $31, $04
.db $32, $04
;gmz
.db $14, $0A
.db $33, $0A
.db $34, $0A
;sez
.db $15, $0B
.db $35, $0B
.db $36, $0B

And lastly, add these lines at the end of src/includes/palettes.asm:

Palette_UGZ_2:    ;$2F
.incbin "palettes\palette_ugz2.bin"

Palette_UGZ_3:    ;$30
.incbin "palettes\palette_ugz3.bin"

Palette_GHZ_2:    ;$31
.incbin "palettes\palette_ghz2.bin"

Palette_GHZ_3:    ;$32
.incbin "palettes\palette_ghz3.bin"

Palette_GMZ_2:    ;$33
.incbin "palettes\palette_gmz2.bin"

Palette_GMZ_3:    ;$34
.incbin "palettes\palette_gmz3.bin"

Palette_SEZ_2:    ;$35
.incbin "palettes\palette_sez2.bin"

Palette_SEZ_3:    ;$36
.incbin "palettes\palette_sez3.bin"

Then, build the rom, and check out your new Dynamic palettes for UGZ, GHZ, GMZ, and SEZ.

That's all, if you have any questions, PM Mikel.