FEIDIAN CHANGE LOG

- v0.85 -
* Fixed an severe error (set $bit2 twice) that was causing all 3bpp insertion
  to break.
* Fixed a glitch with linear insertion. Genesis/Megadrive seems to work
  properly now. Can anyone verify if this holds true for NeoGeo Pocket Color?
* Added CRC32 as an option for tile data in BCR. If you want to use CRC32,
  uncomment the line in settings.php.
* Changed the MD5 and SHA1 for BCR to use raw output instead of alpha-numeric.
  This means the output will be half the length, making tile search even
  quicker.
* Optimized 60 lines in both custominj.php and customrip.php. But this is
  pointless since full XPM support required adding a ton more.
* Full support for XPM reading and writing in all functions. Hopefully this
  proves useful to someone. On the upside of things, with XPM support GDLIB 2.0
  should now be at my disposal.
* Added a line to start muting notices. There's this minor annoyance about
  declaring a color depth twice when working with custom tiles. It's because
  the tile definition gets included twice. I've updated the tile definition
  template to check if a color depth has been defined and updated all tile
  definitions which people have submitted to the website, but this is just in
  case you have some creeping around your computer based on the old format.
* 8width.php has been completely phased out.

- v0.8b -
* Copyright.php has been renamed to settings.php (since it now has more
  settings than just the default font copyright).
* BCR improved to allow you to compare tiles by MD5sum or SHA1 hashes, as
  well as gzipping the data. Options for this are in settings.php. Please read
  the notes in settings.php before attempting any kind of BCR.
* European characters at ASCII 0xa0-0xef can be used in tile definitions, IF
  you enable them. Since Asian language systems cannot process these
  characters, it is disabled by default. If you create a tile definition
  dependant on these characters, please include a note that it requires
  EXTEND_LETTERS==TRUE.
* A new value, FORCE_PROPER_WIDTH, has been added to the settings. This
  addresses an issue MadMalkav discovered where color graphics corrupt if
  (columns*tile_width)%8!=0. This only affects tile widths that are not a
  multiple of 8. If you are using such a tile width, consider dumping in a
  multiple of 8 columns (8, 16, 24, 32, etc). If you forget, FEIDIAN will print
  a notice and terminate. You can disable this in settings.php.
* Custom insert and extract broken into two separate files to cut down on the
  size and make it easier to edit (less to load, too).
* Fixed a glitch that was breaking monochrome custom definitions since color
  had been added. I don't know how the hell this slipped by testing.

- v0.8a -
* Major fix to the custom tile routine. The new hirearchy for custom tile
  letters is: [A-Z] [a-z] [2-9] [!?@*]

- v0.8 -
* COLOR! COLOR! AND THEN MORE COLOR! I fianlly got around to it. This means
  there are a few changes to the tile definition format. You can download any
  of the sample definitions (they've all been edited for compatability) from
  the page and have a look, or check out the definition template that comes
  with FEIDIAN now. Currently, all formats, 16 colors or under, in Klarth's
  console graphics document are supported, as well as some others. This means:
    -   8x8 2bpp NES
    - 16x16 2bpp NES
    -   8x8 2bpp SNES/Gameboy/GBC
    -   8x8 2bpp NeoGeo Pocket Color
    -   8x8 2bpp Virtual Boy
    -   8x8 3bpp SNES
    -   8x8 4bpp SNES/PC-Engine
    -   8x8 4bpp Game Gear/SMS/Wonderswan Color
    -   8x8 4bpp Megadrive/X68000
  There's also a few other tile definitions in development (I hear Kitsune is
  doing an MSX definition, which apparantly NOTHING supports).
* Tile definitions can now include their own dump and insert functions (for
  any adventurous programmers out there). This probably isn't necessary, but
  it's nice to have available.
* Tile definitions support planar or linear byte arrangement (compatability
  with Virtual Boy and NeoGeo Pocket Color)
* Speed-up to tile padding.

- v0.7 (development only) -
* Fixed some of the existing code for compatability with 16-color bitmaps in
  preparation for v0.8.

- v0.6 -
* Tile padding has been added. You can now increase a tile's size by any x,y
  pixels without scaling the tile contents. 0 is assumed as the transparent
  bit (if this is really a problem, just invert your bitmap colors first).
  This function has many uses, noteably preparation of a font for Optical
  Character Recognition (OCR), where an 8-10px spacing is needed for good
  results.
* Binary Character Recognition (BCR) added (invented?). This method allows a
  user to supply a known game font and text representation of it as a source.
  This can vastly reduce the amount of characters one needs to fill in for a
  table, if you have a similar font already done. This can be very useful since
  companies often recycle their fonts between games.
* BDF font output APPEARS to be working, but I don't have a setup available
  to test BDF fonts on. If you use it, and it works, let me know.

- v0.5 -
* FD font output support has been added. FD fonts can be compiled into
  Windows 3.0/3.11/NT/95/98/Me/2000/XP compatable .FON files using the
  excellent mkwinfont by Simon Tatham, available from his page at
  http://www.chiark.greenend.org.uk/~sgtatham/fonts/
  I would like to make .FON output automatic from FEIDIAN, but I don't know
  Python. If anyone can give me a nice file format map based off his source, I
  can add it to FEIDIAN.
  NOTE: Source bitmaps for FD output should be 256 tiles in ASCII order.
* Fixed a glitch that caused dual-tile generation to break when the tiles did
  not end evenly on a multiple of 8 bits.

- v0.45a -
* What wonderful luck. When uploading the bug fix release of 0.45, I broke the
  directory structure, rendering the bug fix release EVEN MORE BUGGED! Here's a
  correct version, and I'm very sorry for that mistake. 0.45 has been pulled
  from distribution.

- v0.45 -
* Bug fix release: Added much needed input checking to keep users from
  glitching FEIDIAN with malformed command strings. Also corrected an error
  in the insertion routine for custom tiles using the new 62-byte format.

- v0.4 -
* Expanded tile definitions to 62 bytes. This should cover most any 24x24 tile
  (assuming not EVERY byte needs to be defined, just the pattern). The new
  letter hirearchy is A-Z a-z 0-9. 0-9 was put last instead of first to ensure
  backwards compatability with older definitions.
* Added support for color inversion in the dumps. Inversion is supported in all
  insertion and ripping functions (you have no need for it in dual-tile
  building, even if you think you do). To invert, simply add an "i" to the
  command line.
    Example: feidian.php -cr i mrsaturn,16,6,0x2015b9 eb.smc mrsaturn
  The Mr. Saturn font is stored in Earthbound with its colors reversed. This
  will dump it in the standard 0=transparent 1=color format most games use.
  You could similarly add an "i" to the command line in insertion to flip the
  colors back.

- v0.3 -
* Complete rewrite of the source code.
* Added support for creating dual-tile sets.
* Added support for custom tile definitions.
* Added support for non-8* width fonts.

- v0.2 L31 -
* Initial release

