Sonic the Hedgehog 2 (16-bit)/Level Specific
From Sonic Retro
Revision as of 13:05, 2 October 2020 by Ccawley2011 (talk | contribs)
Sonic Community Hacking Guide Sonic the Hedgehog 2 (16-bit) |
---|
Art |
Objects |
Levels |
Text |
Music |
RAM |
Miscellaneous |
Here I will list level specific hacking information. This is handy as a quick reference while editing levels in Sonic 2.
Emerald Hill Zone
Offset | |
---|---|
Level load block | $42594 |
Palette | $2A22 |
Level art | $95C24 |
16x16 block mappings | $94E74 |
128x128 mappings | $99D34 |
Level Layout - Act 1 | $45AC4 |
Level Layout - Act 2 | $45C84 |
Level Size - Act 1 | $C054 |
Level Size - Act 2 | $C05C |
Ring Placement - Act 1 | $E4344 |
Ring Placement - Act 2 | $E456A |
Object Placement - Act 1 | $E684A |
Object Placement - Act 2 | $E6B7A |
Rasterised layer deformation | $C57E |
Animated pattern load queues | $3FF94 |
Pattern load queues | $42736, 4275C |
Level event script | $E658 |
Dynamic pattern reloading | $3FF2C |
Misc object mappings | $40372 |
Object debug list | $41D2E |
Primary collision index | $44E50 |
Secondary collision index | $44F40 |
Rotating Palette | $1A18 |
Note: The 8x8 art and the 16x16/128x128 mappings are shared with Hill Top Zone.
Wood Zone
Offset | |
---|---|
Level load block | $ |
Palette | $2A82 |
Level art | $ |
16x16 block mappings | $ |
128x128 mappings | $ |
Level Layout - Act 1 | $100753 |
Level Layout - Act 2 | $10090B |
Level Size - Act 1 | $ |
Level Size - Act 2 | $ |
Ring Placement - Act 1 | $E47B0 |
Ring Placement - Act 2 | $E47B2 |
Object Placement - Act 1 | $EBD52 |
Object Placement - Act 2 | $EBD52 |
Rasterised layer deformation | $ |
Animated pattern load queues | $ |
Pattern load queues | $ |
Level event script | $ |
Dynamic pattern reloading | $3FF2C |
Misc object mappings | $ |
Object debug list | $ |
Primary collision index | $ |
Secondary collision index | $ |
Rotating Palette | $ |
Chemical Plant Zone
Offset | |
---|---|
Level load block | $42630 |
Palette | $2E02 |
Underwater palette | $2E82 |
Level art | $B6174 |
16x16 block mappings | $B5234 |
128x128 mappings | $B90F4 |
Level Layout - Act 1 | $48774 |
Level Layout - Act 2 | $48A84 |
Level Size - Act 1 | $C124 |
Level Size - Act 2 | $C12C |
Ring Placement - Act 1 | $E5E2C |
Ring Placement - Act 2 | $E5F9E |
Object Placement - Act 1 | $EA9D2 |
Object Placement - Act 2 | $EAD6E |
Rasterised layer deformation | $D27C |
Animated pattern load queues | $401B2 |
Pattern load queues | $42A1E, 42A56 |
Level event script | $F446 |
Dynamic pattern reloading | $3FF2C |
Misc object mappings | $40762 |
Object debug list | $42376 |
Primary collision index | $453C0 |
Secondary collision index | $454E0 |
Rotating Palette | $1D16 |
Note: The 8x8 art and the 16x16/128x128 mappings are shared with Death Egg Zone.
Aquatic Ruin Zone
Offset | |
---|---|
Level load block | $42648 |
Palette | $2F42 |
Underwater palette | $2FA2 |
Level art | $BCC24 |
16x16 block mappings | $BB944 |
128x128 mappings | $C1434 |
Level Layout - Act 1 | $48E94 |
Level Layout - Act 2 | $49264 |
Level Size - Act 1 | $C144 |
Level Size - Act 2 | $C14C |
Ring Placement - Act 1 | $E6294 |
Ring Placement - Act 2 | $E642E |
Object Placement - Act 1 | $EB25A |
Object Placement - Act 2 | $EB6A4 |
Rasterised layer deformation | $D4AE |
Animated pattern load queues | $401D6 |
Pattern load queues | $42AAA, 42AC4 |
Level event script | $F4D0 |
Dynamic pattern reloading | $3FF24 |
Misc object mappings | $4077A |
Object debug list | $42438 |
Primary collision index | $45610 |
Secondary collision index | $45760 |
Rotating Palette | $1D88 |
Casino Night Zone
Offset | |
---|---|
Level load block | $42624 |
Palette | $2DA2 |
Level art | $B0894 |
16x16 block mappings | $AFFC4 |
128x128 mappings | $B2CF4 |
Level Layout - Act 1 | $47FF4 |
Level Layout - Act 2 | $483C4 |
Level Size - Act 1 | $C114 |
Level Size - Act 2 | $C11C |
Ring Placement - Act 1 | $E5944 |
Ring Placement - Act 2 | $E5B7E |
Object Placement - Act 1 | $E9D1E |
Object Placement - Act 2 | $EA3D8 |
Rasterised layer deformation | $D0C6 |
Animated pattern load queues | $4010E |
Pattern load queues | $429BA, 429F8 |
Level event script | $F26A |
Dynamic pattern reloading | $3FF08 |
Misc object mappings | $4061A |
Object debug list | $422B4 |
Primary collision index | $452A0 |
Secondary collision index | $45330 |
Rotating palette | $1BEE |
Miscellaneous:
- Special Bumpers:
There are special bumper objects in CNZ. They are not grouped in the normal object data. To disable them completely, go to $173CE and enter "4E75".
Hill Top Zone
COMING SOON
Mystic Cave Zone
COMING SOON
Oil Ocean Zone
Offset | |
---|---|
Level load block | $ |
Palette | $2CE2 |
Oil cycle auto palette | $1F76 |
Level art | $A4204 |
16x16 block mappings | $A3364 |
128x128 mappings | $A6384 |
Level Layout - Act 1 | $47404 |
Level Layout - Act 2 | $47784 |
Level Size - Act 1 | $C0F4 |
Level Size - Act 2 | $C0FC |
Ring Placement - Act 1 | $E5260 |
Ring Placement - Act 2 | $E5422 |
Object Placement - Act 1 | $E8DA0 |
Object Placement - Act 2 | $E9214 |
Rasterised layer deformation | $CC66 ( ? ) |
Animated pattern load queues | $400C8 |
Pattern load queues | $ |
Level event script | $ |
Dynamic pattern reloading | $ |
Misc object mappings | $405B6 |
Object debug list | $420E8 |
Primary collision index | $45100 |
Secondary collision index | $ |
Rotating palette | $ |
Misc:
- Oil "Ocean" effect:
Go to $41B9 you will see "0A" (OOZ level slot). You can change this to switch the oil effect to another level. If you change it to "11" then the effect will not be in any level.
- Oil "slide" effect:
Go to $456D you will see "0A" (OOZ level slot). You can change this to switch the oil effect to another level. If you change it to "11" then the effect will not be in any level.
Metropolis Zone
COMING SOON
Sky Chase Zone
Offset | |
---|---|
Level load block | $42654 |
Palette | $3022 |
Level art | $C5004 |
16x16 block mappings | $C4074 |
128x128 mappings | $C85E4 |
pattern suppliment | $C7EC4 |
Level Layout - Act 1 | $49634 |
Level Size - Act 1 | $C154 |
Level Size - Act 2 | $C15C |
Ring Placement - Act 1 | $E6684 |
Ring Placement - Act 2 | $E66D6 |
Object Placement - Act 1 | $EBBDE |
Object Placement - Act 2 | $EBD4C |
Rasterised layer deformation | $D5DE |
Pattern load queues | $42AF6, 42AFE |
Level event script | $F59E |
Dynamic pattern reloading | $3FD24 |
Object debug list | $42522 |
Primary collision index | $458C0 |
Secondary collision index | $459A0 |
Rotating palette | $1DB6 |
Note: The 8x8 art and the 16x16/128x128 mappings are shared with Wing Fortress Zone.
Miscellaneous:
- Flight Paths
You have to edit the level event script to change the path that the plane will fly.
Move right to 1180: F5D2
Move down to 0500: F5F2
Move right to 1400: F60A
- Level length
By default, the level will end when the plane reaches 1400. To change this, you have to change "1400" to your likings in three locations.
Level size: C154 (the level actually ends at 3FFF)
Level event script: F60A
Tornado object: 3A860
- Act 2
To make Act 2 work properly, go to $C408 and change the 6 bytes there to "0C78 1000 FE10". Now go to $C15C and give act a level size. Now the level will work like any normal level.
Wing Fortress Zone
COMING SOON
Death Egg
COMING SOON