Liquidpaint (c)2000 Christopher Emirzian Based on Rainbox by Alex Rosen GIF Loader by Paul Bartrum Webpage: http://rydia.net/udder/prog/lp.html E-mail: divinebovine@netzero.net Release version 3.0 Liquidpaint is a DOS paint program written in DJGPP, using the Allergo graphics library. It uses pallete animation to give images the appearance of movement. Liquidpaint allows you to create mesmerizing displays of flowing colors in seconds. With it's many options and settings, it is easy to make something creative and different each time. Liquidpaint is based on Rainbox, made by Alex Rosen. Rainbox is for the Macintosh. I created Liquidpaint because I felt many people could enjoy a similar program on PC as well as Mac. Also, Rainbox kix butt :) Over the course of it's development, Liquidpaint met and rose above Rainbox. I hope you enjoy my hard work :) Thanks go to: Alex Rosen, for making Rainbox, sending me source code, and inspiring me to write Liquidpaint :) Shawn Hargreaves, for making Allegro, thus making Liquidpaint a possibility Paul Bartrum, for the GIF loader, and lots of suggestions :) Peter Wang, for the Allegro PNG wrapper code Josh Munce, for the shroom icon, Kitsune, for fanfare @_@;;, my bro Matt for dealing with endless windoze crashes And all the people I bugged to test Liquidpaint out on their computers :) Requirements: Monitor + video card capable of displaying 640x480, 256 colors 486 or higher 4MB RAM Mouse + Keyboard An active right side of the brain :) Warning Since Liquidpaint can create moving colors and images at very high speeds, there is the possibility of creating seizure-inducing images. I have taken all steps possible to make Liquidpaint safe. I take no responsibility for any injuries related to using Liquidpaint. You have been warned! Basics To draw in Liquidpaint, hold the mouse button and drag around the screen. Using the second mouse button will create different effects. Keys ESC=quit SPACE=Show/hide toolbar F5=QuickSave=Saves a file to disk, using the last filename used with Save. F6=QuickLoad=Loads a file from disk, using the last filename used with Load. Toolbar The toolbar contains all the commands that can be used in Liquidpaint. Each key has a corresponding shortcut key. The toolbar will automatically hide itself while drawing. Toolbar buttons / Shortcut key Key=1 Undo=undo/redo last draw command Key=2 Reverse=changes direction of pallete rotation Key=3 Geometric=Mirrors drawn tool/shape Key=4 Pause=Pauses pallete animation. Pausing will also make any drawing operation insanely fast :) Key=5 Alternate Tools=Will create different effects. Try fooling around with it :) Key=6 Line Paint=When used with shapes, causes shapes to be drawn much smoother. This works better when used with smaller shapes. This also causes the color sync to be slower by half. Key=7 Splotchy=Shape is random in size and location Key=8 Swirly=Shape is rotated in a circle. Hold down Z to reverse the rotation. Key=9 Wiggly=Shape size shrinks and grows in a loop Key=0 Black=Sets color to black Key=- White=Sets color to white Key=+ Solid Color=Sets color to solid (nonflowing) color. Also effects tools. Key=\ Two Tone=When used with shapes, creates a second smaller shape on top that is slighty different in color Save=Saves a file to disk. Files are saved as 256 color PNG. Files are saved into directory 'saved'. Load=Loads a file from disk. You can load any 256 color PNG, GIF, PCX, BMP or TGA. Files are loaded from directory 'saved'. Use the pretty file window to select a file. :) Liquidpaint will automatically create the directory 'saved' if it is not found at startup. Key=F1 Color=Opens up Color toolbar Key=F2 Size=Opens up Size menu Key=F3 Clear=Opens up Clear toolbar Key=F4 Shape=Opens up Shape toolbar Key=Q Grid off=Turns off grid Key=W Grid 10=Turns grid to 10 Key=E Grid 20=Turns grid to 20 Key=R Grid 40=Turns grid to 40 Key=T Grid 80=Turns grid to 80 Key=Y Transparency 100%=Turns transparency to 100% (opaque) Key=U Transparency 75%=Turns transparency to 75% Key=I Transparency 50%=Turns transparency to 50% Key=O Transparency 25%=Turns transparency to 25% Key=[ Speed up=Raises overall speed of Liquidpaint. Starts at maximum speed. Key=] Speed down=Lowers overall speed of Liquidpaint. Click a couple of times, and the colors will be oozing down your screen :) This also slows the speed of drawing. Make it run as slow as your old Mac.. yay :) Color toolbar buttons Invert: Inverts the entire pallete Color 128: Sets the pallete to use 128 of 128 colors Color 64: Sets the pallete to use 64 of 128 colors Color 32: Sets the pallete to use 32 of 128 colors Light spots: Makes every 16th pallete entry lighter. Color spots: Makes every 16th pallete entry inverted. The next buttons are the realtime pallete modifiers. These modify the basic pallete color values in the hue, saturation and value range. Contrast thrown on as a extra goodie :) Hue up: Raises the speed of the hue increment. Clicking this with the 2nd mouse button will reset the hue increment. Hue down: Decreases the speed of the hue increment. Clicking this with the 2nd mouse button will reset the hue. Saturation up: Raises the saturation value of the pallete Saturation down: Decreases the saturation value of the pallete Value up: Raises the value (brightness) of the pallete Value down: Decreases the value (brightness) of the pallete Contrast up: Raises the contrast value of the pallete Contrast down: Decreases the contrast value of the pallete Click the PALLETE button to bring down the list of palletes. There are plenty to try out :) Size toolbar buttons All these buttons change the current size. Click the CUSTOM button to enter a custom size. Clear toolbar buttons All these buttons clear the screen, with a paticular effect. You can undo clears. Clears are also effected by transparency. The exception to this is the Black New and White New clears. These clear the screen reguardless of transparency, and reset the hue, saturation, value, and contrast to 0. Bonus: Clicking with the 2nd mouse button on the Solid clear will make an Inverted clear Tool/Shape toolbar buttons Line Shape: Creates a line with the current shape and shape settings If used with the SHIFT key held down, will create a synchronized line Spiral Shape: Creates a spiral with the current shape and shape settings If used with the SHIFT key held down, will create a synchronized spiral If used with the CTRL key held down, will create a slower spiral If used with the ALT key held down, will create a reverse spiral Spiral I: Creates a spiral. Effected by Alt-Tool. Cannot be used with Line or Spiral shape Spiral II: Creates another spiral. Effected by Alt-Tool. Cannot be used with Line or Spiral shape Fan: Creates a Spinning fan Yin Yang: Creates a design that looks like a yin yang Well: Creates a sunken pool Spline: Draws random spline curves. Cloud: Increments the color under it by 1. Like a plasma effect If used with the SHIFT key held down, will create a reverse flowing cloud Fire: Creates a fire effect. If used with the SHIFT key held down, will create a reverse flowing flame If used with the CTRL key held down, will create a rougher flame Fill: Fills an area with a color. Text: Allows you to type text on the screen. Flip Icon X: Flips the icon shape on its X-axis Flip Icon Y: Flips the icon shape on its Y-axis All other buttons are shapes. Click the ICON button to bring down a list of icon shapes to use. shapes.gif can be modified to change the appearance of any of the icon shapes. If this file is missing or damaged, you will not be able to use any icon shapes! During the drawing of a Line or Spiral, press ESC to stop the draw. Tips on loading images: You can load any ol image into Liquidpaint, but it will probabally look like crap unless you do some stuff to it. Liquidpaint animates colors 1-128 of the pallete. Color 0 is black/transparent, Color 129 is black, 130 is white, and 131 is grey. 132 to 137 are used for file saving purposes. Any colors past this are ignored. You should make sure all your colors are within the range of pallete colors 1 to 128, and 0 for black. Your best bet is to convert the image to grayscale, then copy and paste the image into a saved .PNG file from Liquidpaint, saved with the gray pallete. Make sure your imaging software does not optimize the pallete! This will screw it up! Since Liquidpaint ignores colors 138-255, you can use these as any static (non-changing) color you want. Liquidpaint works great with fractal images and other computer-generated effects. :) How to import Rainbox drawings into Liquidpaint: 1. In Rainbox, choose File:Save As PICT.. and save the file. 2. Convert this file to a GIF. Make sure any extras (pallete optimization, dithering, etc.) are turned off. 3. Copy the file to your PC, and load it in Liquidpaint as you would any other GIF image. 4. Unfortunatley, Rainbox does not save the entire pallete when saving as a PICT, so you will have to choose one of the predefined palletes. How to import Liquidpaint drawings into Rainbox: What, are you nuts? :) Rainbox and Liquidpaint use very different formats for saving files. There is no plan for a "Export to Rainbox" command. Sorry! Extra notes about the file format: Liquidpaint saves information about the pallete settings in pallete entries 132 to 137. pallete entry 132's red value is the pallete type. 1-30 are valid. pallete entry 132's green value is the number of colors. 1-4 are valid. pallete entry 132's blue value is the setting for light/color spots. 0-2 are valid. pallete entry 133's red value is the setting for inverted pallete. 0-1 are valid. pallete entry 133's green value is the hue. 0-180 are valid. This is multipled by 2 once loaded. pallete entry 133's blue value is the setting for reversed pallete. 0-1 are valid. pallete entry 134's blue value is the setting for speed. 0-255 are valid. pallete entry 134's red value is the saturation value. pallete entry 134's green value is the positive/negative toggle for the saturation value. 0 is positive, 1 is negative. pallete entry 135's red value is the value (brightness). pallete entry 135's green value is the positive/negative toggle for the value (brightness). pallete entry 136's red value is the hue incrementer. This is divided by 4 once loaded. pallete entry 136's green value is the positive/negative toggle for the hue incrementer. pallete entry 137's red value is the contrast value. pallete entry 137's green value is the positive/negative toggle for the contrast. All these numbers are multiplied by 4 in the saved file's pallete. Example: 4 would be 16. 8 would be 32. Liquidpaint puts a pixel at 0,0 with pallete entry 132. When Liquidpaint loads a file, it checks: if the pixel at 0,0 is pallete entry 132 if pallete entry 132's red value is less than or equal to 30 if pallete entry 132's green value is less than or equal to 4 if pallete entry 132's blue value is less than or equal to 2 If all these are found to be true, it deterimes the file to be saved by Liquidpaint and treats it as such, loading in all values from the pallete. If even one of these are found to be false, it determines the file to be a custom file. When Liquidpaint loads a PCX or TGA file, it flips the pallete around. Example: Pallete entry 0 becomes pallete entry 255, and vice versa. Pallete entry 5 becomes pallete entry 250, and vice versa. Notes about .SPR file format: .SPR is a custom image file format made by me. If you need more information on SPR files, E-Mail me.