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