Bunnylin's Chromaticity Compressor 1.00 30-03-2010
This easy-to-use program takes an image with lots of different colors, and momentarily returns the image with far fewer colors. The algorithm has some customisation options for flexibility. There is another free utility that has similar features - ImageMagick. You may want to compare it with this and see which you like better.
BunComp is particularly useful for webcomics - you make the original page in 24-bit color, but for best quality at a reasonable size, want to publish it as a palettised PNG. This program will not only allocate the palette for least visual degradation, but can also dither gradients while auto-detecting and exactly preserving flat colors, such as sprite character skin or clothes.
It can also be a useful tool for converting graphics resources to be used with game engines that require specific palette indices - you can override the color reduction algorithm by selecting preset colors, which will be preserved exactly at the indicated indices. Even the alpha channel can be retained, if your sprites need it.
The algorithm uses an optimised brute force approach to achieve excellent perceived quality at the cost of processing speed. My subjective quality comparisons suggest this algorithm produces results far better than any old Median Cut or Octree implementations, and is at about par with the renowned NeuQuant algorithm.
Features:
- Palette presets
- Flat color auto-detection
- Alpha channel support
- YCbCr and RGB colorspace options (CIELAB was also implemented, but gives poor results)
- Automatically gamma-corrects by 2.2 to work in linear colorspace
- As user-friendly a GUI as I could reasonably cram in
- Loads BMPs and PNGs, saves PNGs, copies and pastes using the clipboard
- EGA and CGA configuration presets are included as a fun bonus
See example images
Download the Win32 binary (66kb) (should work on Win9x/XP, and compatible systems)
Get the entire source package, for FPC 2.4.0/win32 (63kb)
The main program source by itself
MoonCore Graphics Loader source by itself
MoonVideo mk.II
Simple is beautiful.
What does it do?
- Manages output into an ASCII console or tile-based graphical window
- The window size is somewhat freely changeable at startup
- Windowed and fullscreen modes
- Allows output through individual, logical viewports
- Uses lightness in addition to character and background color
- Loads and scales BMP images, with ASCII rendering capability
- Keyboard input reading, basic mouse input
- Rolls random numbers with a mediocre algorithm
MoonVideo compiles with Free Pascal 2.2.2, for win32. Linux support would be great in the future. It is useful for making something like console applications but with a little extra kick, such as roguelikes, interactive fiction, or other games focusing on feature content over eye candy.
License: Consider this free software - do with it what you will, as far as I'm concerned. Same goes for the font bitmaps. I would be appreciative of improvement suggestions or other feedback nonetheless.
MoonVideo FPC 2.2.2/win32 source
Usage instructions
Three font bitmaps
Excelsior
Need a quick hack to read data from MS Excel sheets? I did. The hack was not quick. Incidentally, now I have yet another reason to intensely dislike Microsoft.
This program can read files saved by Excels 97, 2000, XP and 2003 with some success. It mostly skips formatting, and does no formula computations or even direct references to external files - it does, however, use the cached results of formulas and external references that Excel stores. To demonstrate its prowess, Excelsior can dump a loaded workbook's sheet data into very basic RTF-files.
The user interface is non-existent, but the code should be easily extendable and comes with some debug features. It compiles fine with Free Pascal 2.2.0 and is freely usable for any private and commercial projects as far as I am concerned. OpenOffice.Org's commendable documentation efforts of the file format were heavily used in getting Excelsior to work.
Excelsior source code, for Free Pascal
MoonSynth
Who needs physical instrument modeling when you've got tried and true FM?
Features:
MoonSynth is a Win32 program that plays midi files or direct input from your
non-musical keyboard. Instruments are synthesized using frequency modulation
and to some degree amplitude modulation, although that requires a bit more
work. Polyphony has a soft 32-channel limit, but could easily be increased.
The user interface is crude and console-based, accepting only keyboard
commands, but it's good enough for now.
Requirements:
If you've got anything close to a modern computer with Windows on it, this
probably works without trouble. I'd love to provide a Linux version if I
could. I've tested MoonSynth on 95, 98 and XP, and encountered no problems.
Sound is played through DirectSound, so you'll need at least DirectX5 or
maybe 7 to be installed. The program isn't properly optimized yet, but
doesn't seem to require much processor power anyway. You'll need a keyboard
and a functional sound device too.
Other stuff:
Just download and run MOONSYN.EXE to start. If no errors occur, you'll be
presented with the text-based interface. Play some sounds by pressing letters
and numbers. Kill all playing sounds by pressing space. Type a question mark
to load a midi file. Hit the asterisk * to play and stop, and use ESC to
quit. However, be warned: all midi instruments use very simple settings so
don't expect anything even approximating real instruments. Also, percussion
is not implemented in this version.
Revision 11 - 210504
MoonSynth executable
MoonSynth sourcecode, for Free Pascal
MoonSynth Dev Diary
MoonTracker
Unlike MoonSynth, MoonTracker is a 32-bit protected mode DOS-based module tracker and player; basically, you can compose and play music with it. It doesn't support any other module formats than MoonTracker's own though, since there are so many better players out there. This is not much more than a curiosity, unless you're interested in figuring something out from the source code for a tracker project of your own.
The distinguishing feature of MoonTracker is being a dynamic player. You may remember that LucasArts used a dynamic SysEx-based MIDI music system in some of the best adventure games ever made, including Lechuck's Revenge and Fate of Atlantis. MoonTracker allows similar music manipulation, only with module-based music rather than midi.
Features:
- 8 bit mixing routine
- 16 bit mixing routine
- Optional Echo to output stream
- Volume ramping, removes most clicks from sound
- Stereo and Mono output, complete with surround panning
- Support for 8 and 16 bit samples
- Sample packing when saving, usually to about 50-75% of original
- Samples can be saved in external libraries for use by more than one module
- User customizable colors!
- Loads and loads of obscure bugs
Check the included MOONTRAK.TXT for more details.
Or check out a screenshot.
Last version is 1.0 (October 3rd, 2001)
MTRAK10.ZIP (113kb)
Included in the package at no extra cost are MoonPlayer for playing MoonSoundModules and MakeMSX, a utility to pack several MSM's into one file.
Here's a little something else you can play with...
A sucky dynamic transition demonstration (139kb)
Mimu Muzak 5 and a few other tunes (297kb)
Before you start the program, scan through the configuration file and adjust the settings (mainly IRQ+DMA) to work on your computer. Hit F1 for a useless help screen if you've never used a tracker before. Any IT users should be right at home, except there's no mouse support.
` * ~ , _ , . - ~´,¨,` '~ . , . ¤ . , . ~' ´,¨,`~ - . , _ , ~ * ´