4P
Logo to be replaced with art created by 4P once I add the 'save' routines

Pixel Pushing Paint Program



Overview

This is a paint program... or at least it will be. It will be a functional clone of the Amiga version of the awesome Electronic Arts' product, "Deluxe Paint", written by Dan Silva.

Why do we need another paint program? In a lot of cases, There's no real reason to write yet another paint program, but to be honest, I wanted to see if I could. (And it seems as though I can.) It also can be said that most of the paint programs similar to Deluxe Paint require an antique machine with very a stringent configuration. Such packages as Deluxe Paint on the Amiga itself, Dpaint IIe for the PC and the like. 4P is designed so that it can be easily ported to other computing platforms easily: Linux/Unix/BeOS/MacOS/Windoze. It also won't require DOS (Dpaint IIe) or an Amiga emulator (Dpaint II).

Many people have said that Deluxe Paint was the best tool for editing low-color, low-resolution images in the past. Deluxe Paint also had one of the most straightforward interfaces, and damnit, it was fun to play with for hours on end. I hope to be able to recapture all of this with 4p.

What It Will Have

Since it will be first and foremost a DPaint clone, It will be able to load in paletted bitmap images, edit them, and save them out. The native format will be IFF-ILBM, even though no one uses it anymore. I decided that since this was a well known format, and all of the images I want to load are in it, it made sense to go with it. I started to work on my own file format, but that was just plain stupid.

There will be some kind of support for layering of images, and basic page-flipping animations.

There will be support for truecolor images (16,24, and 32 bit) but not until the base DPaint toolset has been implemented. There's support in the program for it right now, but it is untested. There will be animation tools, and eventually, an animated gif export plugin.

Speaking of which, there will be a plugin system for file importing and exporting, and another plugin system for image processing effects. (Similar to Cloanto's "Personal Paint" package, which is also a Deluxe Paint clone, which has been modernized a bit... personally i think that PP is the next step from Deluxe Paint IV. Unfortunately, Dpaint IV has a lot of problems, since it was not originally intended to do truecolor, and has a horrible palette requester. ;) (IMHO))

One of the plugins I intend to write eventually is an Arcade Graphics Importer/Exporter to subsume the functionality of one of my previous projects, Turaco.

What It Won't Have

This will not be an image processing/manipulations tool. If you want that, buy JASC Paint Shop Pro, or Adobe Photoshop.

There will not be support for photographic quality images. Truecolor support will be there, but this will not be the end-all, be-all of image editors. It is a low-resolution, low color-depth paint program.

Screenshot
v0.12: A work-in-progress showing some new enhancements v0.12: the new menus and indicators,
and non-changing GUI colors
v0.9: The current format selector with umlaut llama v0.9: The not-yet-implemented Palette Editor
v0.9: A familiar face... v0.9: Toolbar and Brush dialogs with their graphics...
Older images...
v0.05: the resizable brushes
v0.04: the new brush tools
v0.03: tool sampler
v0.10: Red Robot
News



2006.09.27
So... YAY! the project is revived, but in a pseudo-backburner kind of way. I'm working on it when other projects aren't overwhelming me. I've decided to start with the 0.9 source, not the 0.10, which had some new niceties, but required noweb which was overkill.

I've figured out a game plan and direction to get this back on track, and to get 1.0 out at some point before the Leonov gets to to the Discovery.

The project is accessible via sourceforget as well. The source is online there, in its current state.

Also, while i transition my webspace, there is the new project page for this project.

2002.07.02
For those of you who are interested, I have the CVS tree for the current developement of 4p (AKA "UberPaint") over on the Zendragon.com server. Check it out if you're interested. :] My life is pretty busy at this point, but I'm trying to work on it in every spare minute of time that I can find. I want to use this thing just as much as you do. Hehe.


2002.06.19
Work on 4p has resumed! As of two days ago, I have started to work on the new (release 0.11) version of 4p. Since it's pretty much a re-write, I've taken a step back, designed the class structure for it (since it's now going to be an object oriented program), and I now have that online here (59kb color PDF). Now that I have that (thanks to help and talking with (Pat)+) I can continue working on the program, and perhaps have a release by the end of August! :D


2002.02.25
I just drew up a mock-screenshot of 0.11. That will give you an idea of how it looks. It is a bit of a departure from Deluxe Paint, but i think it'll be worth it.. 0.11 will add this idea of different 'views' into an image stack. (An image stack can be thought of as the main page, and a swap page, or a stack of frames for an animation, etc..) There will be zoom views, flip-book views (which will cycle through frames so that you can animate them properly) and so on. FWIW, the menus seen in the screenshot are all that I have done currently of 0.11. you can actually navigate them and everything. ;)


2002.02.20
I know it's been a while since I updated this, but there's something big in the works. (That, and I also needed a break from 4p, and ALL of my time last month was absorbed by moving. I own too much crap.) Here's the scoop; 4p version 0.11 will be an almost complete teardown, redesign and rewrite of previous code. I've decided to switch from the GUI layer I was writing (which was intensely slow) to "ParaGUI" which is nice and speedy. It requires extra libraries to be installed on your system, but I think the result is worth it.

At the same time, I'm re-structuring some of the design that I was getting uncomfortable with, and also, implementing it in C++ instead of C. This, of course, means that it will be completely Object Oriented.

So... sorry about the delay, but it will be very much worth it, I believe. It'll end up being much better than it possibly could have been if I would have just continued with the old code base.

And, yes... 0.10 will not be released. There's not much different from 0.9 anyway. heh.


2001.12.18
Released version 0.09. I'm probably going to be taking a short break from working on this for a little while, but wanted to make this available for those of you who wish to mess around with it. It doesn't save out anything useful yet, but you can load images in "L", which mostly works...

Current State / Todo List

Next up for the next versions of 4p is:

  • User interface items (menus, toolbar, text listboxes)
  • IFF-ILBM File Saving

After that:

  • arbitrary rotate and skew
  • Brush load and save
  • Color tools (palette, range, cycling, remap)
  • curve tool
  • ellipse tool
  • Grid (snap to grid, adjust grid, constrain within grid)

FYI; I'm shooting for (and going to miss) a November 11, 2001 release date for 1.0.

And things after the 1.0 release:
  • Animation
  • Background Lock
  • better text tool
  • Effects plugins
  • File IO plugins (gif, jpg, png, arcade graphics)
  • font support: bitmap, amiga, pc dpaint IIe fonts
  • Layers
  • Multiple palettes per image
  • Stencil

License

This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

here's the license itself

Downloads
Sourceforge There is currently a sourceforge SVN repository for this project.
v0.09
2000.11.18
SOURCE ARCHIVE
307kb
  • CHANGELOG
  • This should build, without problems on: Mac OS X, SunOS, Linux, and BeOS.
  • The gui is hammered out more (modal dialog boxes, bitmapped buttons, listview, file requestor, etc.)
  • More crash bugs removed.
  • some palette issues are worked out (ie; loading images)
Read the readme file for more information.
Old
Versions
v0.08   v0.07   v0.06   v0.05   v0.04   v0.03   v0.02   v0.01