Editing Art - RetroKoH/S1Fixed GitHub Wiki
There are numerous tools you can use to edit art in Sonic 1-3K, and S1Fixed. Flex2 is ideal for editing palettes and art tiles used for object sprites, while SonLvl is ideal for editing level art. Both offer support for importing art, and using art of various compression formats.
By default, Sonic 1 makes use of two compression formats with regards to art tiles: Nemesis and Kosinski format. Some art is also uncompressed within the ROM. You can find these files in the artnem, artkos, artunc folders, respectively, with files having the extensions .nem, .kos, and .bin (or .unc), respectively.
It's not ideal to edit palettes by hex, but it's not too difficult, and if you are planning to write a tool that needs to read and/or edit color palettes, it doesn't hurt to know how to do it. If we open palettes/Sonic.bin, we can see the following hex data:
0000 0000 0822 0A44 0C66 0E88 0EEE 0AAA 0888 0444 08AE 046A 000E 0008 0004 00EE
Each cluster of 4 digits is 2 bytes (Remember that 1 byte consists of 2 digits, or nybbles). Each cluster starts with 0, and follows the format of 0BGR. B = Blue, G = Green, and R = Red. Each nybble is a color component with a value ranging from 2 to $E (14). Odd values are never used, so only the following values are accepted:
0 2 4 6 8 A C E
The color black is represented with 0000, while the color white is represented with 0EEE.
You'll notice that there are 16 clusters. This means there are 16 colors in Sonic's palette, though the first color is never seen by the player. Sonic's palette is usually loaded into the first of 4 palette lines. These 4 palette lines mean that there are up to 64 palettes that can be displayed at one time (without the use of various techniques.) If you are simply editing palettes for characters or levels, you need not create a palette with more than 64 clusters/colors.
... A list will be added
You're unlikely to ever need to edit art by hex, but once again, it's good to know how these things work, so let's get to it. Every art tile in a Sega Mega Drive/Genesis game is made up of 64 pixels (8x8 pixels). The actual art data does NOT contain any color data, however. Instead, it is composed of a series of indices ranging from 0 to $F (15). Each digit/nybble represents one pixel in an art tile, and the value points to the index in a color palette line that should be used to color in that pixel. Therefore, art tiles and color palettes are used in conjunction with one another to make the art we see on screen.
If you are using Flex2 to edit art, you can draw out tiles by clicking the mappings tab at the top, scrolling down, and selecting DRAWING MODE to begin drawing directly onto the art. Palette color menus can be found at the top right of the drawing field.
NOTE: Be careful not to right-click and left-click together while in DRAWING MODE. This triggers a bug in which changes made to art tiles will not be reflected on screen. To fix this issue, immediately save the art (Files Tab) and then immediately reload the art.
A majority of art tile files are compressed. Much of this art that is used for level objects is Nemesis-compressed. These are all located in the artnem folder.
List of Nemesis Art Files (Alphabetical Order)
- Animal Chicken.nem [14 ($E) tiles]
- Animal Flicky.nem [14 ($E) tiles]
- Animal Penguin.nem [18 ($12) tiles]
- Animal Pig.nem [18 ($12) tiles]
- Animal Rabbit.nem [18 ($12) tiles]
- Animal Seal.nem [14 ($E) tiles]
- Animal Squirrel.nem [18 ($12) tiles]
- Boss - Eggman after FZ Fight.nem [76 ($4C) tiles]
- Boss - Eggman in SBZ2 & FZ.nem [144 ($90) tiles]
- Boss - Exhaust Flame.nem* [17 ($11) tiles] (To be Uncompressed)
- Boss - Final Zone.nem [156 ($9C) tiles]
- Boss - Main.nem [108 ($6C) tiles]
- Boss - Weapons - GHZ.nem [6 tiles]
- Boss - Weapons - MZ.nem [4 tiles]
- Boss - Weapons - SLZ.nem [6 tiles]
- Boss - Weapons - SYZ.nem [5 tiles]
- Continue Screen Sonic.nem [37 ($25) tiles]
- Continue Screen Stuff.nem [30 ($1E) tiles]
- Ending - Credits.nem [96 ($60) tiles]
- Ending - Emeralds.nem [28 ($1C) tiles]
- Ending - Flowers.nem [37 ($25) tiles]
- Ending - Sonic.nem [323 ($143) tiles]
- Ending - StH Logo.nem [48 ($30) tiles]
- Ending - Try Again.nem [139 ($8B) tiles]
- Enemy Ball Hog.nem [47 ($2F) tiles]
- Enemy Basaran.nem [41 ($29) tiles]
- Enemy Bomb.nem [41 ($29) tiles]
- Enemy Burrobot.nem [75 ($4B) tiles]
- Enemy Buzz Bomber.nem [55 ($37) tiles]
- Enemy Caterkiller.nem [16 ($10) tiles]
- Enemy Chopper.nem [32 ($20) tiles]
- Enemy Crabmeat.nem [68 ($44) tiles]
- Enemy Jaws.nem [32 ($20) tiles]
- Enemy Motobug.nem [29 ($1D) tiles]
- Enemy Newtron.nem [85 ($55) tiles]
- Enemy Orbinaut (SLZ).nem [31 ($1F) tiles]
- Enemy Orbinaut.nem [31 ($1F) tiles]
- Enemy Roller.nem [80 ($50) tiles]
- Enemy SBZ3 Burrobot.nem [75 ($4B) tiles]
- Enemy SBZ3 Jaws.nem [32 ($20) tiles]
- Enemy SBZ3 Orbinaut.nem [31 ($1F) tiles]
- Enemy Splats.nem [29 ($1D) tiles]
- Enemy Yadrin.nem [61 ($3D) tiles]
- Explosion.nem [96 ($60) tiles]
- Fireballs.nem [44 ($2C) tiles]
- Game Over.nem [28 ($1C) tiles]
- GHZ Breakable Wall.nem [12 ($C) tiles]
- GHZ Bridge.nem [10 ($A) tiles]
- GHZ Edge Wall.nem [12 ($C) tiles]
- GHZ Flower Stalk.nem [4 tiles]
- GHZ Giant Ball.nem [38 ($26) tiles]
- GHZ Purple Rock.nem [24 ($18) tiles]
- GHZ Spiked Log.nem [18 ($12) tiles]
- GHZ Swinging Platform.nem [14 ($E) tiles]
- Hidden Bonuses.nem [36 ($24) tiles]
- Hidden Japanese Credits.nem [166 ($A6) tiles]
- HUD - Life Counter Icon.nem [12 ($C) tiles]
- HUD.nem [22 ($16) tiles]
- Lamppost.nem [10 ($A) tiles]
- LZ 32x16 Block.nem [8 tiles]
- LZ 32x32 Block.nem [16 ($10) tiles]
- LZ Blocks.nem [104 ($68) tiles]
- LZ Breakable Pole.nem [8 tiles]
- LZ Bubbles & Countdown.nem [116 ($74) tiles]
- LZ Conveyor Platform.nem [8 tiles]
- LZ Cork.nem [16 ($10) tiles]
- LZ Flapping Door.nem [32 ($20) tiles]
- LZ Gargoyle & Fireball.nem [17 ($11) tiles]
- LZ Harpoon.nem [18 ($12) tiles]
- LZ Horizontal Door.nem [16 ($10) tiles]
- LZ Rising Platform.nem [24 ($18) tiles]
- LZ Spiked Ball & Chain.nem [24 ($18) tiles]
- LZ Vertical Door.nem [8 tiles]
- LZ Water Surface.nem [16 ($10) tiles]
- LZ Waterfall.nem [109 ($6D) tiles]
- Monitors - S3K.nem [72 ($48) tiles]
- Monitors.nem [60 ($3C) tiles]
- MZ Green Glass Block.nem [26 ($1A) tiles]
- MZ Green Pushable Block.nem [24 ($18) tiles]
- MZ Lava.nem [156 ($9C) tiles]
- MZ Metal Blocks.nem [69 ($45) tiles]
- MZ Switch.nem [8 tiles]
- Points.nem [9 tiles]
- Prison Capsule.nem [117 ($75) tiles]
- Ring Sparkles.nem [4 tiles]
- S2 Level Select Font.nem [85 ($55) tiles]
- S2 Level Select Icons.nem [120 ($78) tiles]
- SBZ Collapsing Floor.nem [4 tiles]
- SBZ Crushing Girder.nem [18 ($12) tiles]
- SBZ Electrocuter.nem [20 ($14) tiles]
- SBZ Flaming Pipe.nem [28 ($1C) tiles]
- SBZ Junction Wheel.nem [73 ($49) tiles]
- SBZ Large Horizontal Door.nem [15 ($F) tiles]
- SBZ Pizza Cutter.nem [36 ($24) tiles]
- SBZ Running Disc.nem [4 tiles]
- SBZ Sliding Floor Trap.nem [15 ($F) tiles]
- SBZ Small Vertical Door.nem [8 tiles]
- SBZ Spinning Platform.nem [48 ($30) tiles]
- SBZ Stomper.nem [40 ($28) tiles]
- SBZ Trapdoor.nem [49 ($31) tiles]
- SBZ Vanishing Block.nem [28 ($1C) tiles]
- SBZ3 Flapping Door.nem [48 ($30) tiles]
- SBZ3 Vertical Door.nem [8 tiles]
- Sega Logo.nem [125 ($7D) tiles]
- SLZ 32x32 Block.nem [16 ($10) tiles]
- SLZ Breakable Wall.nem [8 tiles]
- SLZ Cannon.nem [8 tiles]
- SLZ Fan.nem [44 ($2C) tiles]
- SLZ Little Spikeball.nem [18 ($12) tiles]
- SLZ Pylon.nem [16 ($10) tiles]
- SLZ Seesaw.nem [44 ($2C) tiles]
- SLZ Swinging Platform.nem [32 ($20) tiles]
- Special 1UP.nem [9 tiles]
- Special Birds & Fish.nem [241 ($F1) tiles]
- Special Clouds.nem [81 ($51) tiles]
- Special Cursor.nem [9 tiles]
- Special Delete.nem [9 tiles]
- Special Emerald Twinkle.nem [9 tiles]
- Special Emeralds.nem [16 ($10) tiles]
- Special Ghost.nem [9 tiles]
- Special Glass.nem [9 tiles]
- Special GOAL.nem [18 ($12) tiles]
- Special R.nem [9 tiles]
- Special Red-White.nem [9 tiles]
- Special Result Emeralds.nem [16 ($10) tiles]
- Special UP-DOWN.nem [27 ($1B) tiles]
- Special W.nem [9 tiles]
- Special Walls.nem [249 ($F9) tiles]
- Special ZONE1.nem [9 tiles]
- Special ZONE2.nem [9 tiles]
- Special ZONE3.nem [9 tiles]
- Special ZONE4.nem [9 tiles]
- Special ZONE5.nem [9 tiles]
- Special ZONE6.nem [9 tiles]
- Special ZONE7.nem [9 tiles]
- Spikes.nem [8 tiles]
- Springs Horizontal.nem [16 ($10) tiles]
- Springs Vertical.nem [14 ($E) tiles]
- Switch.nem [8 tiles]
- SYZ Bumper.nem [22 ($16) tiles]
- SYZ Large Spikeball.nem [36 ($24) tiles]
- SYZ Small Spikeball.nem [4 tiles]
- Title Screen Foreground (Menu).nem [270 ($10E) tiles]
- Title Screen Foreground.nem [253 ($FD) tiles]
- Title Screen TM.nem [2 tiles]
- Unused - Eggman Ending.nem [47 ($2F) tiles]
- Unused - Explosion.nem [36 ($24) tiles]
- Unused - Fireball.nem [3 tiles]
- Unused - GHZ Block.nem [4 tiles]
- Unused - GHZ Log.nem [44 ($2C) tiles]
- Unused - GHZ Switch.nem [6 tiles]
- Unused - LZ Sonic.nem [15 ($F) tiles]
- Unused - MZ Background.nem [16 ($10) tiles]
- Unused - SBZ3 Spiked Ball & Chain.nem [24 ($18) tiles]
- Unused - Smoke.nem [16 ($10) tiles]
- Unused - SStage Flash.nem [59 ($3B) tiles]
- Unused - SYZ Sparkles.nem [3 tiles]
- Water Splash.nem [35 ($23) tiles]
Imagery will be added to this guide later.