============
SmozDitherer
============
v1.0

The goal of this program is to take a full-colour BMP image and convert it to 16-colour images for use in Sega Genesis ROMs.

It does this by generating random palettes, "dithering" the image (tricking your eyes into seeing more colours than are really there), then evolving the best random palettes to find accurate palettes.

It will create 48 dithered images from your original image.  Choose the one you like best.


==========
How To Use
==========

First, you drag-and-drop your image onto "Ditherer.exe" and select either option 1 or 2 to get a 16-colour dithered image.

Second, you drag-and-drop your 16-colour image onto "Ditherer.exe" and select option 3 to prepare the image for importing into Tile Molester.


----------------------------------------------------------------------
Option 1 -- Generate sets of 16-colour images using different methods.
----------------------------------------------------------------------

Your input BMP needs to be saved as a 24-bit BMP.  If your BMP is 8-bit/256 colour, or some other format, it will not work.

Your input BMP's width and height should be multiples of 16, or the resulting images might be screwed up (they will look 'stripey').

For the NHL94 title screen, the dimensions if your image should be 256x224.  However, because the 'stretch' feature of the gens emulator will make the image look 'fat', I recommend making your source image originally 276x224, then resampling/resizing (not cropping) it to 256x224 to 'squish' it horizontally, so the player looks skinny.  This way it'll look ok both on stretched emulators, and non-stretched emulators.  

Either drag-and-drop your 24-bit BMP onto "Ditherer.exe", or double-click "Ditherer.exe" and write in your file name.

You'll be presented with 3 options.  Choose option "1", to generate a set of 48 16-colour images with strange-looking names (they represent the method used to choose the palette and dither the image).

Choose the dithered image you like best.

Next, you should use option 3.


----------------------------------------------
Option 2 --  Use custom palette, get 3 images.
----------------------------------------------

Instead of letting the program try to find an optimal palette, you can force it to use a particular palette.

To do this, create a text file with the same name as your image, but replace .bmp with .txt.
	
The format is like so:
<red value> <green value> <blue value> <note>

for example:
-------------------
222 222 222 white
181 181 181 grey
107 107 107 grey
222 222 107 yellow dark
222 222 148 yellow light
181 74 74 red dark
181 107 74 red light
181 147 107 skin main
222 147 148 skin pink
148 107 107 skin dark pink
107 74 74 skin shadow
74 74 107 background blue
33 33 74 dark blue
33 33 107 dark blue
33 73 107 dark blue
107 107 148 light blue
-------------------

Valid Genesis colour values are:
for red:   0 33 74 107 147 181 222 255
for green: 0 33 74 107 147 181 222 255
for blue:  0 33 74 107 147 181 222 255

Next, you should use option 3.


---------------------------------------------------------------------------------
Option 3 --  Convert dithered image to darker colours for import to TileMolester.
---------------------------------------------------------------------------------

Once you have a dithered image that you are happy with, you need to use this option in order to prepare the image for Tile Molester and get the correct palette colours to use in Tile Molester.

The reason we do this is that the palettes in the ROM are stored as darker colours than actually appear on the screen.

Drag-and-drop your chosen dithered image onto "Ditherer.exe" and select option "3".

This will generate 2 files:
	<your chosen file>-TileMolester.bmp
	<your chosen file>-TileMolester.txt
	
The BMP file will appear to be darker than your chosen image, which is right.

The text file contains the palette colours to use in Tile Molester.

If you need help, contact me through private message on the forums, or post in the Ditherer thread.


===============
Future Versions
===============

v1.1
Able to force certain colours, and have the program fill in the other colours automatically.
Able to adjust the speed of the program (faster = worse results, slower = better results)

--
smozoma
2012