GOD PAINT
~~~~~~~~~
CODED BY MR PINK
(C) 1995 RESERVOIR GODS
1.0 INTRODUCTION
The Atari Falcon is blessed with a highly impressive true colour mode
allowing over 65,000 colours on screen in a multitude of different
resolutions. As traditionally Atari art packages have been bitplane
based, newer programs quickly adapted to the 8 bitplane 256 colour
mode, but less was made of the more advanced true colour mode.
Frustration with the speed and reliability of the existing true colour
art packages drove me to writing God-Paint. It was initially to be a
sprite editor for in-house development, but grew into a fully fledged
art package in its own right.
God-Paint is written in 100% 68030 assembly language and has its own
custom WIMP environment, dispensing with the sluggishness of GEM. It
supports a multitude of file formats, has functions other packages
could only dream of and supports full 16-Bit true colour mode with all
64 green levels.
1.1 SYSTEM REQUIREMENTS
God-Paint requires 4 megabytes of memory to run. It will run on
televisions, RGB monitors and VGA monitors. God-Paint will happily run
from either hard drive or floppy disk. It is primarily controlled by
mouse, but will also support the Reservoir Gods "PowerMouse" Power-Pad
mouse emulator.
For obvious reasons, God-Paint will not run on an SM124 monitor.
1.3 INSTALLATION & LOADING
God-Paint consists of a single program file, which is all it needs to
run. It can be installed on the desktop as icon. It fully supports the
command line and the "drag and drop" protocol. You can drag graphic
files onto God-Paint and will automatically load and display them.
God-Paint doesn't need to load any external files during its
execution, everything is contained in the main program file.
2.0 THE INTERFACE
God-Paint discards the slow GEM/AES/VDI interface and replaces it with
a sparkling new WIMP environment. The majority of input is made with
the mouse, although there are some keyboard short cuts.
The RIGHT and LEFT mouse buttons will usually perform different
effects when clicking on icons on arrows. For example, clicking on the
zoom window scroll arrows with the left mouse button will scroll the
image by one pixel, whilst the right mouse button scrolls the image by
a screen.
2.1 DIALOGUE BOXES
Most of the functions in God-Paint are controlled via dialogue boxes.
Input in these boxes is made via radio buttons, which can be sub-
categorised into:
_Boxed Text_
There will be a number of different pieces of text, each representing
a different option. The current option will be boxed. To change to a
different option, simply click on the desired piece of text with the
left mouse button.
Example: Draw Type gives you the option of drawing in "Continuous",
"Broken" or "Point" mode. The default is "Continuous" which is boxed
on loading. Click on either "Broken" or "Point" to select this option
and deselect "Continuous"
_Popup Text_
Pop-up text is an altogether more exiting and compact system. Simply
click with the left mouse button on the piece of text representing the
currently set option and a box pops up with all the choices you can
make. As you move the mouse pointer over them, each different choice
is highlighted. Click with the left mouse button on the new choice and
box disappears and the new choice is displayed.
Example: Load Palette Type has the default option of "God Paint".
Click on this text with the left mouse button and a box will pop up
with three entries: "God Paint", "Indypaint" and "Delm Paint". As you
move the mouse pointer over them each individual entry is highlighted.
Click with the left mouse button on "Indypaint" and this file type is
now selected, the box disappears and the text "Indypaint" is
displayed.
_Plus & Minus Boxes_
Used for the entry of numbers for such things as screen coordinates
and colour values. Plus and minus boxes appear on the right and left
of a number respectively. To increase the displayed number, click on
the plus box. To decrease the displayed number click on the minus box.
Clicking on a box with the left mouse button will cause that number to
change by one and then wait for another click. Clicking on a box with
BOTH the left and right mouse buttons held down will cause the number
to change rapidly.
Example: Grid Mode's X step is displayed as 16. Click on the minus box
once with the left button - the X step is now 15. Click with the left
button twice on the plus box, the X step is now 17. Click with the
left button on the plus box and then hold down the right mouse button
and watch the X step increase dramatically!
_RGB Boxes_
These coloured boxes represents the separate components of pixel
colour, Red, Green and Blue. They often appear in dialogue boxes to
graphically illustrate numeric entries. On rare occasions, the RGB
boxes can actually be clicked on themselves to indicate changes are
wanted in that particular component.
Example: Swap colour allows you to swap one of the RGB components of a
picture with another. On the left and right are the dialogue are boxes
of Red Green and Blue. Click with the left button on a RED box on the
left and with the left button on a GREEN box on the right. These boxes
will now be highlighted, indicating we wish to swap red with green.
2.2 EXITING DIALOGUE BOXES
Dialogue boxes are exited with a single click of the right mouse
button.
Some Dialogue boxes have a "Cancel" option. Click on this to exit the
box.
3.0 THE WORK SCREENS
God-Paint is split into 4 main work screens, The Canvas, The Tools
Screen, The Pen Studio and the Zoom Studio. Most operations concern
the canvas and tools screen.
3.1 SWAPPING SCREENS
The tool screen and canvas can be swapped between by clicking the
right mouse button or pressing space.
Clicking the right mouse button has different effect when over icons,
so in the tools screen position the mouse over some clear white space
and click the right mouse button to enter the canvas screen.
On the canvas screen, the right mouse button is often used for
clearing the current effect. If, for example, you are in the middle of
drawing a polygon and want to return to the tools screen you will have
to click once to clear the polygon and once again to enter the tools
screen.
Using SPACE to swap screens has a special significance as it doesn't
clear the currently cut block, allowing you to change block effects
and revert back to the canvas without losing your block.
3.2 THE CANVAS
This is your main drawing area. Its size is dependent on the current
screen mode you are working in. You will see a small mouse pointer,
this represents the position on the canvas you currently wish to draw
one.
The canvas screen is exited with space or the right mouse button.
3.3 THE TOOLS SCREEN
The tools screen is divided into 5 main sections:
_Zoom Window_
This appears on the top left of the screen and enables fine editing of
pictures. The zoom window has controls for scrolling around the image
and increasing/decreasing the zoom level.
_Tool Box_
This comprises of all the current functions of God Paint. The current
tool can be selected with the left mouse button and a parameter
dialogue box brought up with the right mouse button
_Colour Slider Bars_
The current colour is displayed above the bars. New colours can be
created by changing the different Red, Green and Blue levels. The
intensities are displayed graphically and numerically.
_Pen Head Grid_
This defines the current pen head for drawing operation. This can be
altered and custom pens can be created. The pen studio can also be
entered from here for fine pen editing.
_Information Bar_
This contains textual information about the current function. As you
move across the tools screen, text is displayed corresponding to the
current icon or area the mouse is over.
3.4 THE PEN STUDIO
This enables total control over pen editing. New pens can be selected
from here, and pens can be loaded and saved.
3.5 THE ZOOM STUDIO
This is a more advanced version of the zoom found on the tools screen
and covers a larger area of the screen. The X and Y zoom can be
altered individually and a real-size duplication of the current zoom
area is displayed.
4.0 THE FUNCTIONS
In this section we shall look at all of God Paint's functions in
detail. Function are selected in the Tools screen by clicking on the
relevant icon with the left mouse button. A dialogue box for the
function's parameters can be selected by clicking the right mouse
button on the icon.
4.1 PEN MODE
This is the default function and the first the top left function in
the icon display. This allows you to draw on the canvas with the
currently defined pen head in the currently defined pen colour.
4.1.1 PEN MODE PARAMETERS
Clicking with the right mouse button on the pen mode icon brings up
the parameters box.
4.1.2 PEN MODE - DRAW TYPE
This defines the current drawing mode of the pen, and is linked to
left mouse button actions. Options are chosen via boxed text.
_Continuous_
The default mode. As long as the left mouse button is held down,
pixels are drawn in a continuous stream. As you move the move, its
position may jump by, say, 10 pixels from its last position. All this
pixels are filled in giving drawing a brush stroke like quality.
TECH NOTE: Points are connected by a Bresenham line.
_Broken_
This gives the user more flexibility, but gives drawing a more rough
edge. Points are only drawn at the current mouse position. If the
mouse jumps ten pixels then all the positions between the old and new
mouse position are ignored. The pen head is only drawn at the current
mouse position when the left button is held down.
_Point_
This is useful for very fine editing, drawing stars or other
assortments of dots, not for lines!
The pen head is only drawn on a left mouse button click - you can't
hold down and draw. To draw some more, click the left mouse button
again.
4.1.3 PEN MODE - PLOT
This gives control over the way the current pen head interacts with
the screen data. Options are selected via pop-up text.
NOTE: This also affects line drawing.
_Move_
The default mode. The pen head, in the current mode, is simply moved
straight to the screen ignoring all data underneath it.
_Add_
The current colour of the pen head is ADDed to the screen data below
it. This allows you to build up effects of translucency and shading.
For example, if the pen colour is very low (1 Red, 2 Green, 1 Blue)
you can very subtly shade the picture by drawing over it in ADD mode.
_Sub_
Similar to add mode but the current pen head colour is SUBtracted from
the screen data below it, allowing you to darken sections of the
image.
_And_
The pen head colour is logically ANDed with the picture data below it,
allowing you to mask areas of colour.
_Or_
The pen head colour is logically ORed with the picture data allowing
you to create new colours.
_Eor_
The pen head data is Exclusively ORed with the data below it allowing
you invert colour attributes.
_Nor_
The pen head colour and the screen data are combined by means of a
logical NOT and OR.
_Nand_
The pen head colour and the screen data are combined by means of a
logical NOT and AND.
4.1.4 PEN MODE - CLIP
This defines the area of the screen over which the pen can move.
Options are selected via pop-up text.
_Free Move_
This is the default option. The pen can move anywhere on the screen
including off the edges of the screen. Part of the pen can move over
the border of the screen.
_Edge Stop_
The pen is limited at the borders of the screen, and no part of the
pen may move off the screen.
4.2 LINE MODE
Behind pen mode, this is probably the second most used option and was
an ideal candidate for the second icon!
To draw a line, first determine whereabouts on the canvas you want the
line to begin. Click on this point with the left mouse button. Now
move the mouse - you will see the line being draw from the origin to
the current mouse position. Once you have reached your desired line
end point, click again with the left mouse button. The line will now
be drawn.
If you are not happy with the current line, click with the right mouse
button to clear it. This can only be done whilst defined the line,
once the end point has been set, you will have to press UNDO to clear
it.
Whilst defining the line, it is NOTed with the background, so no
matter what colour the image is, you will always see the line. Once
the second point is defined, the line is drawn in the current pen
colour.
TECH NOTE: The lines are drawn with an algorithm developed by J.E.
Bresenham. Although this is not the fastest method of line drawing -
certain not the routine I use in my 3D polygon code - it is more
accurate then other faster methods, and draws a more balanced line,
without the tendency to "jerk" near the start and end points.
4.2.1 LINE MODE PARAMETERS
Clicking with the right mouse button on the line mode icon brings up
the line mode parameters.
The plot mode of the line is defined in the Pen Mode dialogue box, it
is the same as the current pen plot mode.
4.2.2 LINE MODE - LINE TYPE
This is the only parameter in the line mode dialogue box and defines
the type of line you wish to draw.
_Normal_
The default option. This draws lines of one pixel width in the
currently defined pen colour.
_Pen Line_
This draws a line with the currently selected pen head in the current
pen colour. This allows you to dramatically alter the width and
texture of a line.
4.3 K-LINES
This is a simple but effective addition to the line drawing family.
Lines are drawn in the current pen colour, but the end of the last
line becomes the start of the next line allowing you to quickly define
enclosed shapes.
The current K-Line is ended by pressed the left mouse button.
4.3.1 K-LINE PARAMETERS
None. Parameters are defined under "Line Mode : Line Type" and
"Pen Mode : Plot".
4.4 RAYS
Another addition to the line mode family. All lines are drawn from the
same central point.
First define the central point by clicking once with the left button.
Then move to your first line position and click again. You can hold
down the left mouse button and draw an arc.
The current ray is ended by clicking the right mouse button.
Evan Dando said "its a shame about Ray". He obviously hadn't seen God
Paint's Ray function.
4.4.1 RAYS - PARAMETERS
None. Parameters are defined under "Line Mode : Line Type" and
"Pen Mode : Plot".
4.5 POLYGON
This function allows you to create two dimensional polygons. Define
all the points of the polygon by clicking the left mouse button. Once
all points are defined, the polygon will be displayed.
At any point during definition, press the right mouse button to clear
the polygon.
4.5.1 POLYGON PARAMETERS
Clicking with the right mouse button on the polygon box brings up the
parameters dialogue box.
4.5.2 POLYGON - POINTS
Define the number of vertices in the current polygon. For example a
triangle has 3 points, a square 4, a pentagon 5 etc.
Polygons can range from 3-15 points.
4.5.3 POLYGON - TYPE
This defines the current shading type of the polygon.
_Line_
The default mode. This simply draws a non-shaded lined polygon.
_Fill_
This draws a polygon filled in the current pen colour.
_Shade Fill_
This gives a lovely shading effect similar to gourad shading. The fill
colour is defined below.
Every polygon line is filled from the start colour to the end colour
and back again. The individual Red Green and Blue components of the
START and END colours are defined below.
The default polygon shades from a low blue (10) to full blue (31). You
can change this, for example, by setting start and end blue to zero,
setting start red to 10 and end red to 31 for a red filled polygon.
4.6 LINE BOX
This draws a box in the current pen colour between two points. Click
with the left button to define one corner of a box, move the move to
the desired end position and click again to the define the end corner
of the box.
At any point during definition press the right mouse button to clear
the box.
4.6.1 LINE BOX PARAMETERS
None.
4.7 FILL BOX
As above, but this draws a filled box in the current pen colour.
4.7.1 FILL BOX PARAMETERS
None.
4.8 COLOUR BOX
The box is defined as above, but is has a much more complex shading
technique.
4.8.1 COLOUR BOX PARAMETERS
Clicking with the right mouse button on the colour box icon bring up
the colour box parameters dialogue box.
The colour box shades in two directions simultaneously - vertically
and horizontally. The shade in the top left corner of the box is the
start colour. As you move across the box horizontally, this colour is
shaded towards the X END colour. As you move down the box vertically
this colour is shaded to the Y END colour.
The individual RGB components of the 3 colours can be set in this
dialogue box.
Example: The default colour box set up has a start colour of 0 Red, 0
Green, 31 Blue. The X END colour is 31 Red, 0 Green and 0 Blue. As you
move horizontally across the box, the Red is shaded from 0 to 31, the
green remains constant at zero and blue is shaded from 31 down to 0.
The Y END colour is 0 Red, 63 Green, 31 Blue. As we move vertically
down the box, red approaches 0, green approaches 63 and blue
approaches 31.
You can easily create some very impressive shaded areas using this
colour box function.
4.9 CIRCLE
This draws a circle in the current pen colour. Click once with the
left mouse button to define the origin of the circle and move the
mouse to define the circles radius. Click with the left mouse button
again to draw the circle.
At any point during definition the right mouse button can be pressed
to clear the circle
TECH NOTE: This circle algorithm was based on art to maths wizard J.E.
Bresenham's routine which SH3 sent me. As with most circle function,
it looks slightly odd when the radius is very small!
4.9.1 CIRCLE PARAMETERS
None.
4.10 FILLED CIRCLE
As above but the circle is filled according to defined fill setting.
4.10.1 FILLED CIRCLE PARAMETERS
The filled circle parameters dialogue box is entered by clicking the
right mouse button on the filled circle icon.
Here you can define the type of shading you wish to employ.
_Solid_
The default mode, simply flat shades the circle in the currently
defined pen colour.
_Shade_
This shades the circle from the circumference to the centre according
to the defined start and end colour.
The start colour defines the colour of the circumference of the
circle. As you move towards the centre of the circle, it shades to the
end colour.
TECH NOTE: For smoothness, full circles are drawn for every shade
level, not simple step shaded rims. This slows down the shade circle
drawer, even so it is still faster then most other true colour art
packages.
4.11 MAGNIFY STUDIO
Clicking on this icon takes you into the magnify studio. The area of
the canvas over which the mouse was last is magnified at the left hand
side of the screen. On the right hand side of the screen there is a
real-size representation of the current zoomed area, allowing you to
see what changes look like.
Clicking with the right mouse button over a non-active area of the
screen returns you to the tools screen.
At the top of the screen is a row of icons.
4.11.1 MOVE MAG LEFT
Clicking with the left mouse button moves the zoom window one pixel to
the left. Hold down the left mouse button for one pixel scroll.
Click with the right mouse button to move the zoom window one page to
the left. The size of a page is equal to the current zoom size.
4.11.2 MOVE MAG RIGHT
Clicking with the left mouse button moves the zoom window one pixel to
the right. Hold down the left mouse button for one pixel scroll.
Click with the right mouse button to move the zoom window one page to
the right. The size of a page is equal to the current zoom size.
4.11.3 MOVE MAG UP
Clicking with the left mouse button moves the zoom window one pixel
up. Hold down the left mouse button for one pixel scroll.
Click with the right mouse button to move the zoom window one page up.
The size of a page is equal to the current zoom size.
4.11.4 MOVE MAG DOWN
Clicking with the left mouse button moves the zoom window one pixel
down. Hold down the left mouse button for one pixel scroll.
Click with the right mouse button to move the zoom window one page
down. The size of a page is equal to the current zoom size.
4.11.5 INCREASE X MAGNIFICATION
Click with the left mouse button to increase X magnification by one
pixel. This means that every pixel is represented by 1 more x pixels
in the zoom window, so appears wider.
Click with the right mouse button to increase both X and Y
magnification. This has the effect of zooming into the image without
distorting the proportions.
4.11.6 DECREASE X MAGNIFICATION
Click with the left mouse button to decrease X magnification by one
pixel. This means that every pixel is represented by 1 less x pixels
in the zoom window, so appears narrower.
Click with the right mouse button to decrease both X and Y
magnification. This has the effect of zooming out of the image without
distorting the proportions.
4.11.7 INCREASE Y MAGNIFICATION
Click with the left mouse button to increase Y magnification by one
pixel. This means that every pixel is represented by 1 more y pixels
in the zoom window, so appears taller.
Click with the right mouse button to increase both X and Y
magnification. This has the effect of zooming into the image without
distorting the proportions.
4.11.8 DECREASE Y MAGNIFICATION
Click with the left mouse button to decrease Y magnification by one
pixel. This means that every pixel is represented by 1 less x pixels
in the zoom window, so appears shorter.
Click with the right mouse button to decrease both X and Y
magnification. This has the effect of zooming out of the image without
distorting the proportions.
4.11.9 SEGMENTATION
This places a border around every pixel so it is clearly visible where
every pixel begins and ends. Clicking with the left mouse button on
this icon toggles segmentation mode on/off. The default is off. If the
picture is greatly zoomed out, segmentation will have an adverse
effect on the clarity of the image in the zoom window.
4.11.10 SET MAG SIZE
This allows you to define the X and Y size in pixels of the zoom
window. The default size is 16 x 16. This is particularly useful if
drawing sprites or other objects of fixed size. The entire sprite can
be contained exactly in the zoom window for editing, and you can see
its real-size representation on the right.
4.11.11 THE ZOOM WINDOW
Click with the left mouse button to draw a pixel in the current pen
colour. Click with the right mouse button to pick the colour of the
pixel the mouse is over, and load it into the pen colour.
4.11.12 THE MINI SLIDER BARS
Allow you to select the current pen colour. A more detailed
description of the slider bars can be found in section ????
4.11.13 ZOOM STUDIO PARAMETERS
None.
4.12 FLOOD FILL
Allows you to fill an area of colour with the currently defined pen
colour.
TECH NOTE: This is a properly functioning recursive routine that takes
the minimum of memory and will fill the most complex structures,
unlike some fills in other art package that will fill so far and then
stop!
4.12.1 FLOOD FILL PARAMETERS
None.
4.13 BLOCK MODE
This allows the cutting and pasting of blocks.
Block definition is similar to box definition. Click first with the
left button on one corner of the area you wish to cut, move to the
opposite corner and click again with the left button to cut the area.
The mouse pointer will now disappear and instead you can control the
block position by moving the mouse around. Click with the left button
to place the block at the current mouse position.
At any point the current block can be cleared and mouse pointer
restored by clicking the right mouse button.
The blocked can be flipped in the x and y axis by pressing the cursor
keys. 90 degree rotation is achieved by using INSERT or CLR/HOME.
4.13.1 BLOCK MODE PARAMETERS
Blocks come in three types:
_Solid_
The entire defined block is used in all operations.
_X-Ray_
The currently defined background colour (as defined in the colour
palette) is ignored from all block operations. For example, if the
background colour is black (the default) and you cut a block, when
pasting elsewhere the black is ignore and just the non-black colours
of the block are pasted.
_Back_
The block can only be placed on the background, all other colours are
"locked" and cannot be altered. Useful for placing images behind
objects.
4.13.2 BLOCK MODE - MOVE TYPE
_Move_
The default mode. The block, in the current mode, is simply moved
straight to the screen ignoring all data underneath it.
_Add_
The current block is ADDed to the screen data below it. This allows
you to build up effects of translucency and shading. For example, if
the block consists of a very low colour (1 Red, 2 Green, 1 Blue) you
can very subtly shade the picture by drawing the block over it in ADD
mode.
_Sub_
Similar to add mode but the current block is SUBtracted from the
screen data below it, allowing you to darken sections of the image.
_And_
The block is logically ANDed with the picture data below it, allowing
you to mask areas of colour.
_Or_
The block colour is logically ORed with the picture data allowing you
to create new colours.
_Eor_
The block is Exclusively ORed with the data below it allowing you
invert colour attributes.
_Nor_
The block and the screen data are combined by means of a logical NOT
and OR.
_Nand_
The block and the screen data are combined by means of a logical NOT
and AND.
4.13.3 BLOCK MODE - SIZE
This option chooses how the size of the block should be defined.
_Define_
Block size is user-defined by cutting with the mouse. This gives total
flexibility over block size.
_Box_
This is one of the most useful functions in god paint. You can
physically define the size of a box, so when you go to cut your box,
you already see the size of it and just need to move it to the correct
position. This is vastly useful when working with sprites or objects
of a fixed size.
The X and Y size can be defined underneath with the plus and minus
buttons.
4.14 LETTER BOX
An unique function to God Paint, and one that will warn the hearts of
fans of postmen everywhere.
Letterbox draws a frame - you effectively define two boxes and it
shades between them. The boxes can overlap and it will intelligently
calculate the areas to shade.
4.14.1 LETTER BOX PARAMETERS
These give you control over the letter box shading.
_Solid_
The default mode. The letter box is flat shaded in the current pen
colour.
_Shade_
The letter box is shaded from the first frame to the second according
to the defined colours.
For example, the default start colour is 0 Red, 0 Green, 0 Blue and
the end colour is 31 Red, 0 Green, 0 Blue. This will produce a
graduated red-shaded letter box.
4.15 SPRAY
Allows you to recreate the "banging" hip-hop "rush" of spray graffiti
in the comfort of your own armchair! You too can daub "Darren woz ere"
on your monitor (but quickly delete it when mum comes in the room).
Its subversive, it's superficial, it's supersonic (our kid) it's
spray!
Simply click on the desired area to spray and hold down the left mouse
button. The longer you hold down the button, the more is sprayed.
4.15 SPRAY PARAMETERS
These are accessed by clicking the right mouse button over the spray
icon.
4.15.1 SPRAY - PLOT
_Move_
The default mode. The spray, in the current pen colour, is simply
moved straight to the screen ignoring all data underneath it.
_Add_
The pen colour of the spray is ADDed to the screen data below it. This
allows you to build up effects of translucency and shading. For
example, if the pen colour is very low (1 Red, 2 Green, 1 Blue) you
can very subtly shade the picture by drawing over it in ADD mode.
_Sub_
Similar to add mode but the current pen colour of the spray is
SUBtracted from the screen data below it, allowing you to darken
sections of the image.
_And_
The pen colour of the spray is logically ANDed with the picture data
below it, allowing you to mask areas of colour.
_Or_
The pen colour of the spray is logically ORed with the picture data
allowing you to create new colours.
_Eor_
The spray is Exclusively ORed with the data below it allowing you
invert colour attributes.
_Nor_
The spray colour and the screen data are combined by means of a
logical NOT and OR.
_Nand_
The spray colour and the screen data are combined by means of a
logical NOT and AND.
4.15.2 SPRAY - FLOW
Allows you to define the percentage of the spray area that is filled
on every mouse click.
4.15.3 SPRAY - SPEED
Allows you to define how quickly this area is filled.
4.15.4 SPRAY - BOX SIZE
Defines the area in which the spray will fall.
4.15.5 SPRAY - HEAD
Spraying comes in two modes:
_Dot_
The default. Spray consists of single pixels of the current pen
colour.
_Pen_
Spray consists of small sprites the size and colour of the current pen
head. Good for building up textures.
4.16 SMOOTH
Smooth is a powerful function that really exploits the potential of
true colour mode. It is used to reduce jagged edges around images - to
make sure lines don't appear "stepped". It is also used to make
colours blend into one another to create a more natural image.
Simply move the smooth box over the image and click once with the left
mouse button to apply a smooth. Hold down the left button for
continuous smoothing.
4.16.1 SMOOTH PARAMETERS
Click with the right button on the smooth icon to bring up the smooth
parameters.
4.16.2 SMOOTH - BOX SIZE
This defines the smooth area. The default is 10 X 10, but this can be
reduced to a single pixel and increased up the size of a screen!
4.16.3 SMOOTH - SMOOTH STEP
This defines the minimum difference between component shades for a
smooth to be carried out.
For example, the default values for this are 2 for Red, Green and Blue
so this means that there all colours will be smoothed until there is
only a marginal differences between them and surrounding colours -
only 2 levels of intensity.
If smooth step is set to zero, colours will be smoothed until there is
absolutely no difference between them.
If a colour component is set to full, it will not be smoothed. You may
just want to smooth the green sections of the picture, and not the red
and blue. In this case, set the Red and Blue to 31 and the Green to a
low value such as 2.
The higher the smooth step, the less the colour is smoothed.
The lower the smooth step, the more the colour is smoothed.
4.17 PICK COLOUR
This option allows you to pick a colour from the current canvas.
Simply select this option by clicking on it with the left mouse
button, go onto the canvas screen and move over the colour you wish to
select.
As you move over different colours in the picture, a box will appear
at the top or bottom of the screen (depending on the mouse's y
position). This box contains a large section of colour - the current
colour the mouse is over. Underneath this are 3 smaller coloured boxes
with numerical values by them. These represent the Red, Green and Blue
components of the colour respectively.
The numerical value represents the intensity of the colour, and the
small box by it is a graphical representation of that component at
that intensity.
4.17.1 PICK COLOUR PARAMETERS
None.
4.18 FRACTAL
An entertaining function that was put into God Paint after much
mandlebrot mallarkey during the first Reservoir Gods convention.
The fractal allows you to draw mandlebrot or Julia fractals at any
place on the image in any size or in any colour.
Simply define a box on the image and the fractal is drawn in the box.
4.18.1 FRACTAL PARAMETERS
Clicking with the right mouse button on the fractal icon brings up a
very daunting dialogue box.
Each number in the box is a decimal number between -2 and +2 and is
represented to 3 decimal points. Each significant figure of the number
has a plus and minus box above and below it respectively and can be
individually edited.
4.18.2 FRACTAL - TYPE
This defines the sort of fractal to be drawn.
_Mandlebrot_
This is the default type of fractal, and all the values are set up to
draw a standard mandlebrot set.
_Julia_
The fractal is not set up to draw Julia curves, and you will have to
change the A, B, P and Q values to display Julia curves.
4.18.3 FRACTAL - ITERATIONS
This represents the maximum amount of times the fractal checks whether
it is in or out of the unit circle.
In laymans terms, this is the amount of colours in the fractal! Reduce
the iterations for faster but less colourful fractals.
The fractal colours are mapped onto the palette colours. On the
default of 33 iterations, the first 33 palette colours are used. Edit
these for different colour fractals.
4.18.4 FRACTAL - VARIABLES
These define the start and end positions of the fractal and the zoom
level. Edit these for different fractals.
4.19 GREY SCALES
This converts the entire image into grey scales.
Simply click once with the left mouse button on this icon to turn the
whole image into grey shades.
4.19.1 GREY SCALES - PARAMETERS
None.
4.20 SWAP COLOURS
This allows you to remap the current picture by swapping individual
RGB components with each other. For example a red font could be
recoloured blue by using this option, or a green logo could be
recoloured red.
Click the left mouse button on the icon to perform a colour swap.
4.20.1 SWAP COLOURS PARAMETERS
Click with the right mouse button on the icon to bring up the
parameters dialogue box.
On the left of the box are three colours - Red, Green and Blue. These
three colours also appear on the right of the box. Click on one colour
from each side to choose which colours to swap with each other.
Example click on Red on the left and Blue on the right, this will have
the effect of swapping Red and Blue next time you click on the swap
colours icon.
NOTE: Selecting Red on the left and Blue on the right will have
exactly the same effect as selecting Red on the right and Blue on the
left.
4.21 MASK SCREEN
This allows you to filter the screen, changing the RGB levels of all
of the colours. You can lighten images, darken them or
increase/decrease the intensity of one of the RGB components.
Click with the left mouse button on this icon to perform a mask.
4.21.1 MASK SCREEN PARAMETERS
Click with the right mouse button on the mask screen icon to bring up
the parameters dialogue box.
In this box you define the change values in the RGB components. These
are signed values between -31 and +31 (Red and Blue) and -63 and +63
(Green).
For example, we want to increase just the green in the picture by 5.
Change green change to +5 and the other two to zero.
Example: we want to lighten the image. Change red to +1, green to +2
and blue to +1. This will have the effect of subtly lighting the
image. Keep clicking on the mask screen icon until the desired level
of brightness is achieved.
4.22 RESIZE SCREEN
Allows you to resize an image without losing picture clarity. It is
based around a reshading algorithm which will intelligently reshade
the picture as it is scaled down, keeping the picture smoothness. This
option doesn't chop off pixels, it uses the true colour mode to
effectively create a smaller shaded sketch of the big image.
The size of the box you define will contain the entire screen data -
it will be resized into these dimensions.
4.22.1 RESIZE SCREEN PARAMETERS
None.
4.23 SLOW DRAW
This limits the mouse movement when drawing to one pixel in any
direction giving you total control over drawing movements.
Slow draw affects all drawing functions and can be toggled on and off
with the left mouse button.
4.23.1 SLOW DRAW PARAMETERS
None.
4.24 GRID MODE
This define a grid for mouse movement on the canvas.
4.24. GRID MODE PARAMETERS
This allows you to define the X and Y size of the grid.
The default is 16 x 16.
4.25 CO-ORDINATES
When this option is turned on, the current mouse co-ordinates are
displayed on the canvas. The position of the box is intelligently
moved so it doesn't get in the way of mouse operations.
4.25.1 CO-ORDINATE PARAMETERS
None.
4.26 CYCLE COLOURS
When this option is on, the pen colour is cycle between the set
parameters.
The option can be toggled on and off with the left mouse button and
effects all functions that use the pen colour.
4.26.1 CYCLE COLOURS PARAMETERS
The cycle colours parameter box is entered by clicking on the icon
with the left mouse button.
Here you define the START colour of the cycle, the END colour of the
cycle and the STEP of the cycle. The colour cycles from the START to
the END colour in steps of STEP and then back down to the start colour
in steps of STEP.
4.27 CLEAR SCREEN
This will clear the current canvas screen to black.
A dialogue box will appear asking if you want to carry out such a
drastic task.
4.27 CLEAR SCREEN PARAMETERS
None.
4.28 CHANGE SCREEN MODE
This allows you to change the resolution of the picture.
God Paint will try to retain as much as possible of the image during
the resolution change, but it is strongly advised that you save your
picture before changing resolution.
The screen modes are:
_320 x 200_
RGB/VGA none overscan mode.
_320 x 240_
RGB/VGA y overscan mode. This is the default VGA mode and is emulated
on RGB monitors, although you don't see the entire image.
_320 x 400_
RGB only interlace mode.
_384 x 240_
RGB only. The default RGB mode - x and y overscan.
_640 x 200_
RGB only. 80 column mode. (USAGE NOT RECOMMENDED!)
_768 x 240_
RGB only. 80 column mode with overscan. (USAGE NOT RECOMMENDED!)
NOTE: The extended screen modes (640x200, 768x240) require a great
amount of memory and may cause the machine to crash if you have only 4
mb. It is not advised to work in these mode!
4.29 HELP
Click with the left mouse button on this icon to enter the help
screens. There is some brief help on these screens that is very out of
date!
4.29.1 HELP MODE PARAMETERS
Click with the right mouse button on the help icon and the current
time and date will be displayed.
4.30 DISK OPERATIONS
Click with the left mouse button on this icon to access the disk
operations menu. This gives you access to God-Paint's loading and
saving facilities.
_Load Picture_
This allows you to load full screen pictures of the specified file
format. The loading routine will automatically detect the file
extension of the picture and choose the appropriate loading routine.
If the file extension is not recognised, it will use the loading
routine specified as the current "load picture type"
If the picture is bigger than the current canvas, the "reduction" type
is checked. If it is set to "window" mode you will see a window of the
current image - as much as can fit onto the current canvas.
If "reduction" is on scale mode then the entire image will be rescaled
to fit into the current screen. This is an intensive calculation so be
prepare for a short wait ;)
_Load Block_
Allows you to load a block file of the type specified under "load
block type". The block will be loaded into the top left hand corner of
the screen, unless you specify the "block dest" as being mouse in the
disk parameters menu. Then the block will be loaded to the mouse
pointer, and after loading you can press space to go to the canvas
screen with the block loaded into the mouse. Move the mouse to where
you wish to position the block and click once to place it.
_Load Palette_
Allows you to load a palette into God-Paint's palette. The palette
type is specified in the parameter menu under "load palette type".
_Save Picture_
Saves the full screen in the specified picture type. The default save
type is God-Paint. You can define different save types in the
parameter menu under "save picture type"
_Save Block_
Allows you to save an area of the screen in the specified "save block
type" format. After clicking on this you will return to the canvas
where you can cut the block you wish to save. After the block has been
defined, the file selector will appear asking you to specify a file
name.
_Save Palette_
Allows you to save the current palette. The save type is specified in
the parameter menu under "save palette type"
4.30.1 DISK OPERATION PARAMETERS
Clicking the right mouse button on the disk icon brings up the disk
preferences menu. Here you can define all the loading and saving
types.
4.30.2 LOAD FILE TYPE
God-Paint can load a vast array of file formats, all of which are
converted to true colour mode and the current canvas proportions.
_Auto_
In this mode god-paint will intelligently detect the format of the
picture being loaded and choose the appropriate routine.
_God Paint_ *.GOD
God-Paint's own format - simple and elegant.
_Indy Paint_ *.TRU
True colour picture format from Indy Paint by Photon of
Lazer/Independent.
_Egg Paint_ *.TRP
Another true colour picture format, although I haven't seen the paint
package myself (is it by Eclipse?)
_True Paint_ *.TPI
HiSoft's dreadful "art" package. Supports all resolutions and picture
sizes.
_Fuck Paint_ *.PI9
256 colour picture format from appropriately named package.
_Delm Paint_ *.DEL
Another 256 colour picture format from an art package by Mr. Coke of
Avena. It also handles compressed delmpaint files.
_Prism Paint_ *.PNT
Multiple resolution format. Prism Paint is a GEM based package that
saves in a variety of resolutions and screen sizes. God Paint will
convert all images to true colour. It can also handle compressed prism
paint files.
_Spectrum 512_ *.SPU
Uncompressed spectrum 512 images. This was an ST art package that did
a lot of palette switching to get around 40 colours per scanline and
coding the converter was a real pain.
_Compressed Spectrum 512_ *.SPC
This handles the compressed format spectrum 512 pictures.
_Degas PI?_ *.PI? (PI1, PI2, PI3)
This will load good old uncompressed degas images of low, medium and
high resolution.
_Degas PC?_ *.PC? (PC1, PC2, PC3)
This will handle compressed degas images. They used an appalling
packing method - Run Length Encoding - I almost wonder why they
bothered!
_Neochrome_ *.NEO
This will load images from Degas's rival package NEOchrome.
_Art Director_ *.ART
This will load images created on Art Director.
_Crack Art_ *.CA1
This will load images created on excellent ST art package "Crack Art".
Compressed images are also handled.
_Overscan_ *.KID
This will load ST overscan pictures of 'KID' format.
_PIC_
Will load PIC images as used by Delta Force in Disk Maggie.
_GEM Image_ IMG/XIMG
Will attempt to load GEM's IMG/XIMG format, although this routine is
not 100% perfect.
_XGA_
Will load raw true colour pictures of XGA format.
4.30.3 SAVE FILE TYPE
This defines the format of saved files:
_Auto_
Automatically detects what type to save in from the currently
specified file extension.
_God Paint_ *.GOD
God-Paint's own file format. This is the recommended save format.
_Indy Paint_ *.TRU
Indy Paint picture file
_Egg Paint_ *.TRP
Egg paint picture file
_True Paint_ *.TPI
True Paint picture file.
4.30.4 LOAD BLOCK TYPE
Defines the file format for loading blocks.
Formats as above.
4.30.5 SAVE BLOCK TYPE
Defines the file format for saving blocks.
Formats as above.
4.30.6 LOAD PALETTE TYPE
Defines the file format for loading palettes.
_God Paint_
God Paint's own palette format
_Indy Paint_
Indypaint palette format
_Delm Paint_
Delm paint format
4.30.7 SAVE PALETTE TYPE
Defines the file format for saving palettes.
Formats as above
4.30.8 REDUCTION
Defines how images larger then the current canvas size will be fitted
onto the screen.
_Window_
You will only get see as much of the image as can be squeezed onto the
screen.
_Scale_
The image will be resized to the current screen dimensions. This
involves some very hefty calculations so be prepared for a short wait.
4.30.9 BLOCK DEST
Defines the destination of loaded blocks.
_Screen_
Blocks are loaded directly to the top left corner of the screen.
_Mouse_
Blocks are loaded into the mouse pointer. After loading press space to
go onto the canvas. Move the block to your desired position with the
mouse and click with the left button to place it.
4.31 QUIT
Gives you the option of leaving God Paint (not that you will ever want
to).
A box will appear asking you to confirm your decision and giving the
option of going back and saving your picture.
4.31.1 QUIT PARAMETERS
None.
5. THE ZOOM BOX
The zoom box is situated in the top left hand corner of the tools
screen. This features a zoomed representation of the area the mouse
point was last of in the canvas screen. To pick the area to zoom, go
onto the canvas screen, move the mouse to the desired position and
return to the zoom screen. You will now see the area the mouse was
over zoomed.
You can draw on the zoom window, just click on it with the left mouse
button and you will draw in the currently defined pen colour.
Click with the right mouse button to "pick" the colour the mouse
pointer is over. This will be loaded into the pen colour and you can
now draw with it.
5.1 DECREASE ZOOM
The minus button at the top right of the zoom box decreases the zoom.
If you want to continuously zoom down you can hold down the left mouse
button. To move down one zoom level you can click once with the right
mouse button.
Keyboard Equivalent: CLR/HOME
5.2 INCREASE ZOOM
The plus button at the top right of the zoom box increases the zoom.
If you want to continuously zoom up you can hold down the left mouse
button. To move up one zoom level you can click once with the right
mouse button.
Keyboard Equivalent: INSERT
5.3 DEFAULT ZOOM
The black box on the top right below the plus button will take the
zoom window into default zoom mode - a 16 x 16 pixel area.
Keyboard Equivalent: #
5.4 MOVE ZOOM WINDOW UP
The up arrow at the bottom right corner of the zoom box controls the
up movement. Clicking on this with the left mouse button will move the
zoom area up one pixel. Clicking with the right mouse button will move
the zoom area up by one "page".
Keyboard Equivalent: UP ARROW
5.5 MOVE ZOOM WINDOW DOWN
The down arrow at the bottom right corner of the zoom box controls the
down movement. Clicking on this with the left mouse button will move
the zoom area down one pixel. Clicking with the right mouse button
will move the zoom area down by one "page".
Keyboard Equivalent: DOWN ARROW
5.5 MOVE ZOOM WINDOW LEFT
The left arrow at the bottom right corner of the zoom box controls the
left movement. Clicking on this with the left mouse button will move
the zoom area left one pixel. Clicking with the right mouse button
will move the zoom area left by one "page".
Keyboard Equivalent: LEFT ARROW
5.5 MOVE ZOOM WINDOW RIGHT
The right arrow at the bottom right corner of the zoom box controls
the left movement. Clicking on this with the left mouse button will
move the zoom area right one pixel. Clicking with the right mouse
button will move the zoom area right by one "page".
Keyboard Equivalent: RIGHT ARROW
6 THE SLIDER BARS
These are used for defined the current pen colour. Each different
colour on a computer is made up from three primary components: Red,
Green and Blue. By setting these to different left you get different
colours.
The slider bars are split into 4 areas:
6.1 CURRENT COLOUR
A box above the slider bars displays the currently defined colour.
6.2 THE RGB BARS
There is a bar for each RGB component which ranges from 0 at the
bottom (a very dark shade) to full at the top (a very bright shade).
Full for red and blue is 31, whereas full for green is 63 - God Paint
uses all 65,536 colours available (unlike certain other art packages).
The change the RGB level, just click on a place on the bar with the
left mouse button. You will notice the colour above the bars gets
updated, as do the colour values below.
Keyboard Equivalents: (Numeric Keypad)
( - Increase red
) - Increase green
/ - Increase blue
7 - Decrease red
8 - Decrease green
9 - Decrease blue
4 - Full red
5 - Full green
6 - Full blue
1 - No red
2 - No green
3 - No blue
6.3 THE RGB BUTTONS
To the right of the slider bars are three buttons with arrows above
and below them. These can "lock" the individual RGB components
allowing you to easily change shades.
For example, you want to change just the red and green of a colour.
Click on the red and green boxes - they will now be outlined
indicating these components are locked. You can now click on the up
arrow to increase the shade or the down arrow to decrease the shade.
Keyboard Equivalents: (numeric keypad)
* Lock red
- Lock green
+ Lock blue
0 Increase shade
. Decrease shade
6.4 RGB INFO
Below the bars there is some information about the current colour.
Below each bar is a value representing that components level.
Below this is a single value that represents the word value (in hex)
of the current colour. This is useful for programmers.
7.0 THE PEN HEAD DEFINER
In the bottom left of the tools screen is a pen head definer. This
defines the head of the drawing tool. It can be just a single pixel or
a complex pattern.
The pen head is defined on an 8x8 grid. To set a pixel in the grid,
click with the left mouse button. To clear a pixel, click with the
right mouse button.
When drawing, all set pixels will be drawn in the current pen colour,
and all cleared pixels ignored.
By the pen head definer is a 'P' icon which takes you into the pen
studio.
8.0 THE PEN STUDIO
The pen studio gives you advanced pen editing tools.
On the top of the screen there are a series of icons.
8.1 SCROLL PEN LEFT
Shifts the current pen one pixel to the left.
8.2 SCROLL PEN RIGHT
Shifts the current pen one pixel to the right.
8.3 SCROLL PEN UP
Shifts the current pen one pixel up.
8.4 SCROLL PEN DOWN
Shifts the current pen one pixel down.
8.5 HORIZONTAL FLIP
Flips the pen around the X axis.
8.6 VERTICAL FLIP
Flips the pen around the Y axis.
8.7 90 DEGREE FLIP
Flips the pen by 90 degrees
8.8 INVERT PEN
All the set pixels are cleared, and all the clear pixels are set.
8.9 FILL PEN
All pixels are set to on.
8.10 CLEAR PEN
All pixels are cleared
8.11 SEGMENTATION
This gives a border around each pen head pixel.
8.12 INCREASE MAGNIFICATION
Increases the magnified size of the pen head (for easier editing).
8.13 DECREASE MAGNIFICATION
Decreases the size of the magnified pen head.
At the top left of the screen you will see the pen control icons.
You can have up to 100 pens in memory at once and flip between them
with the click of an icon. Pens can also be loaded and saved.
8.14 NEXT PEN
Brings up the next pen in the set.
8.15 PREVIOUS PEN
Brings up the previous pen in the set.
8.16 LOAD/SAVE PENS
Gives you the following options:
_Load Penset_
Will load a set of 100 pens.
_Save Penset_
Will save the current penset of 100 pens.
9 THE PALETTE
Pressing [Return] or both mouse buttons simultaneously on the canvas
screen brings usp the palette. This displays 256 colours which can be
useful in the construction of the picture.
If you press [G] on the keyboard the 256 most used colours will be
grabbed for use in the palette.
9.1 CHOOSE
The default palette mode. This allows you to choose any colour in the
palette by clicking on it with the left mouse button. This colour will
be loaded into the current pen colour. Press the right mouse button to
exit the palette.
Choose is also used for picking colour spaces for general use.
9.2 PICK
This allows you to load a colour into the current palette position.
Click on "choose" and choose the space you want the colour to occupy.
Click on "pick" and you will return to the canvas. Move to the colour
you wish to pick and click the left mouse button. This colour is now
loaded into the palette.
9.3 SWAP
Allows you to swap the positions of two colour in the palette. Click
on the first colour you wish to swap, click on "swap", then click on
the second colour and they will be swapped.
9.4 COPY
First choose the colour you want to copy, then click on "copy" then
click on the destination slot to copy to.
9.5 RANGE
This will create all the shades of colour between two defined poles.
First click on your start colour, then click on "range" then click on
your end colour. All the spaces in between them will be filled in with
the shades between these two colours.
9.6 MIX
This will mix one colour with another. First click on "choose" and
click on a colour. This is the destination colour. Then click on mix
and choose a colour to mix it with. The colours will be mixed and
stored in the destination colour.
9.7 CREATING COLOURS
To create a new colour, first click on "choose" and the then click on
the space you want the new colour to occupy. On the bottom right of
the palette you will see three boxes with numbers by them - these
represent the RGB level of the current colour. Click on a box and it
will become "locked" (like on the slider bars). Click on the plus
button to increase the shade or minus to decrease it.
9.8 THE NUMBER OF COLOUR
On the far right at the bottom of the box, the current number of
colour that the mouse pointer is over is displayed. If the mouse
pointer is not over a colour, then the currently selected colour is
displayed.
APPENDIX
GOD PAINT FILE FORMAT
---------------------
The god paint file format is as follows:
WORD: File ID ("G4")
WORD: Picture X size (in pixels)
WORD: Picture Y size (in pixels)
WORDs: screen data (x size * y size words)
THE BUGS
--------
Unfortunate as it is, one or two bugs may have crept into this
package. If you do come across any, please notify me as soon as
possible and I will fix them.
The main problem is when working in a high resolution mode such as 768
x 240. My advice is stick to 384 x 240.
THE FUTURE
----------
If there is enough interested in God-Paint, then I will finish coding
God-Paint 2. This will feature:
o DSP enhanced functions for extra speed
o Custom VIDEL handling for enhanced screen modes
o Handling of many extra picture formats
o Custom file selector - GEM is totally abandoned for extra memory
o Block rotation & texture mapping
o 3D polygon definition
o Multiple work screens (including virtual work screens)
o Dynamic memory handling
o Sprite studio
o Virtual canvas sizes
o User defined fills
o Support for 256, 4 and 2 colour modes
CONTACT
-------
For further information contact:
Leon O'Reilly
Cwm Isaf
Abermule
Montgomery
Welshpool
Powys
SY15 6JL
email: mrpink.rg@zetnet.co.uk
homepage: http://rg.atari.org