XS FX/D'ARTISTE from DETO SOFT is released as a Shareware item. It is not a free program, but has been released so that you might use it on a trial basis. If the program is not for you and you have no intention of making it part of your library, just delete the files or give your copy to a friend. If, on the other hand, you enjoy and use this program the writers anticipate compensation. A charge of $20.00 is asked for the program, though you may remit any amount that you feel the program warrants or your wallet can part with. You determine the worth of the program--any remittance is appreciated. Should you find bugs lurking in the program, or should you wish to make comment on the program, you may do so by writing to the address below or by leaving e-mail on GEnie Services in the mailbox of d.edwards8. *************************************** * * * D. L. Edwards * * 52 Smith Rd. * * Bellville, OH 44813 * * * *************************************** Remember that your support of DETO Software determines its future. Thanks, Dan Edwards & Ted Oney Disclaimer: Neither the writers of this program nor Deto Soft make any warranty, express or implied, with respect to this program or the accompanying documentation as to quality, performance, or fitness for any purpose. It is the responsibility solely of the purchaser/user to determine the suitability of the products for any purpose. In no case will Deto Soft be held liable for direct, indirect or incidental damages resulting from any defect or omission in the program or its documentation, including, but not limited to, any interruption of service, loss of business, anticipated profit, or other consequential damages. XS FX/D'ARTISTE Instruction Manual Makings of a Monster.... A Preface: It all began so innocently. I enjoy programming and needed a tool to clip pictures for use in my other programs. Simple enough. Right? Well.... At first I simply wrote some rough code to which I entered the coordinates of the clip to be made. A line of the code told the computer to save the clipped picture as a certain file with the extension .PUT added to the end so that I knew it was a small picture to be used atop a larger one. The problem was that I had "hard wired" the code ie. the coordinates and file name were built into the code. Each time I wanted to clip another picture, I had to edit the code. Someday, said I, I'll fix this program to accept input, do its bit, then loop back for another clip. Someday finally came. But what began as a simple program to clip ".PUT" files grew and grew and grew. Seems everyone had ideas about what my program should do. Add a tool here, add a tool there! Whew! "Okay," I said, "maybe I'll put in some rudimentary drawing tools, just enough so that the user can edit any picture he has loaded for clipping." "Neat!" declared my eldest daughter when she saw my program working as an art tool. "But do you have different brush sizes available?" "What about," suggested my wife, "if the spray paint could spray multiple colors at once, rather than having to overlay each color?" Ted spoke up. "I really like the line smoothing tool in Spectrum. This program should really have something like it." Maybe so, I thought, but Spectrum uses 512 colors--plenty of color for smoothing lines. My program, on the other hand, would use only the 16 that the Atari hardware can display. After all, my program was only supposed to clip those silly little picture files for use in my games etc. But daughter Michelle got her way; wife Ruth got her way; and friend and fellow programmer, Ted, got his way. There are different brush sizes. The spray paint tool does indeed have "multiple nozzles" for spraying up to 16 colors at a time. And the line smoothing tool in "Line To" mode does work. It's nothing great but can take some of the rough edges off a line without having to anti-alias with many colors. As if all this bother wasn't enough, I (like a fool!) came up with some ideas of my own. (Faint and die!) Every time I told myself that this would be the last tool incorporated into the program, another idea would come along and insist that it just had to be in the program. So my little program to clip picture files grew into an art program. To be honest, it would never have come this far without the input of my family and friends. True, they caused me more work (I tend to want always to take the easy way out), but the end result seems to be worth it. Therefore, my thanks go to Michelle, Ruth and, most of all to Ted, who streamlined some of the routines for shorter code and faster operation. Further, I'd like to thank Chris Lambright, who is a very artistic individual and has used probably every art tool available for his Amiga. His enthusiasm for my program helped me through some of the rough spots where nothing seemed to go right. Then there's my nephew, Andy Hart, who showed some real enthusiasm of his own and assisted in Beta testing the program (If anyone can crash a program, he can!). Also, Rob Leaver kept my head swelled (with ideas I hope--not ego) with his praise. If I've failed to mention anyone, it's not because your input or enthusiasm for the project was not appreciated--it's simply that this over-worked brain has forgotten and that I've already rambled on too long. Now for the real "meat and potatoes!" Loading Up: If you have GDOS or an equivalent on your copy of the program, you will be asked in an alert box if you'll be using GDOS fonts. If you think you will, click on YES to allow the program to reserve memory space for the fonts. If you won't be using fonts other than the system font, click on NO so that the valuable memory will not be eaten up. Next you'll need to instruct the program as to whether you are using an ST or an STe. For an ST with its 512 color palette click on 512. If you're using an STe and want to have available all the colors, click on 4096. The Meat: XS FX When first entering the program you'll be confronted with the menu for the XS FX side of the program. Therefore, we'll discuss the use of these tools first. Most of the options found in the pull down menus will not work unless a picture is loaded or created in the D'Artiste side. FILE: Load File - You'll be able to load Neochrome or Degas pictures by selecting this entry from the pull down menu. Degas Elite with its compressed format is not supported. Save File - Again you can select either Neochrome or Degas format for saving you work. Load Put - Any clipped section of a picture can be saved by selecting this option. This clipped section can be loaded into your own programs and used. You'll be asked if you want to load a PUT or a SPRITE. Clicking PUT will allow you to load a file with the .PUT extension on it. Choosing SPRITE will load the PUT file along with its accompanying mask file. Mask files will have the extension .MSK. If no mask file is found, you'll be notified of the fact and the loaded PUT file will act as a PUT rather than a SPRITE. There's more on this at the end of the manual where you'll find descriptions on file format and how to use these files in your own programs. Save Put - Selecting this item allows for the saving of your clipped PUT. If you clipped the PUT as a SPRITE a second file will be written with the same selected file name but with the .MSK extension. Quit - Well I think it's obvious that this exits the program. Make sure you've saved all you work before exiting. FX: Pointalize - A picture done in pointalism is one made up of tiny dots of color. To add this effect to one of your own creations, select this option. Dot Shift Horz - This option causes each dot row of the picture to shift left or right causing a blurring effect. Dot Shift Vert - This causes the shift to affect the dot columns. Used in conjunction with the previous shift, a frosted plexiglass effect can be achieved. Negate - To create a photographic negative effect, select this option. Selecting Negate again reverses the process. Smear - Groups of dots are rotated with this option. Repeated rotations will eventually restore the picture to its original state. Crystalize - A snowflake effect can be added to the picture with this choice. Mosaic - To give your picture a mosaic tile effect, click this option. Stain - If you have a PUT clipped or loaded you can paste it on the current picture in an XOR mode. Frost Up - A frosted pane effect is achieved with Frost Up. TOOLS: Clip - This is the tool that clips PUTS and SPRITES. After selecting Clip and choosing either PUT or SPRITE from the alert box, place the first set of cross hairs on the upper left corner of the area to be clipped. Press the left mouse button and drag the second set of cross hairs to the lower right corner of the clip. Release the left button. Paste - The current PUT is pasted to the picture. Unlike Stain mode, Paste will place the PUT with its original colors intact assuming the source color palette from which the PUT was clipped matches the palette of the picture on which the PUT is pasted. Plus Lumens - The luminosity of the picture can be affected globally with this option. All red, green, and blue components of the color palette are incremented by one assuming they are not already set at their maximum. Minus Lumens - The luminosity is reduced, performing the opposite effect of Plus Lumens. + Red - Only the red component of each palette entry is increased. + Green - This increases the green component. + Blue - Blue components are increased. - Red - Subtracts from red components. - Green - Lessens green intensity. - Blue - Subtracts only from blue components. UNDO - Click this option to undo the last change to the picture. Clicking UNDO again returns the picture to its state before the first click. OTHER: Up Buffer - You will have either two or five buffers in which to work, depending on memory availability. Clicking this option will increment your work area to the next buffer. Dwn Buffer - To move down through the buffers, click this option. Copy Buffs - To use this option move to the desired buffer to be copied, select the Copy Buffs option, then choose a destination buffer from the alert box. A duplicate of the source buffer will be copied to the destination buffer. Flip Vert - Flipping of the current picture on its vertical axis can be accomplished with this option. Flip Horz - Again a flip is made but on a horizontal axis. Flip .PUT - The current picture in the PUT buffer can be flipped with this option. A alert box allows you to choose either vertical or horizontal flipping. (Size) Halve - Allows for the halving of the current picture. Halve Cols - The halving of only the columns is accomplished here. The picture will therefore distort. Halve Rows - Again the picture can be distorted by halving only the rows. Double - A section of a picture can be marked for doubling with this selection. Simply position the cut box over the area to be enlarged and left click. Dbl Cols - Distort the picture here by doubling only the columns. Again you will use a cut box. Dbl Rows - Position the cut box to distort the picture by doubling only the rows. D'Artiste - This last selection available on the XS FX side of the program will bring up the D'Artiste side, displaying a new pull down menu line with many tools for expressing your artistic ability. The Potatoes: D'Artiste Before discussing the pull down menu for D'Artiste, let's discuss some of the keys you'll want to know about. These keys only become active after first making a selection from the pull down menu, but do keep them in mind. Much of the power of the program is accessed with these special keys. First is the SPACE BAR, which displays a color palette from which you can choose a color. Either left click on a color or press the SPACE BAR again to retain the same color. Another selection box may or may not appear depending on the tool which has been selected. An example is that while in draw mode you will have only the palette available. In line mode, however, a box will appear showing the available line types. Clicking on one of these line types allows you to draw lines of the selected type. Remember that any of the boxes made available by the SPACE BAR can also be bypassed by the SPACE BAR. No selection need be made. Another important key is the RETURN key. Pressing the RETURN key puts you into what I refer to as the concentric mode for drawing with certain tools. It's especially useful for circles, boxes, and ellipses. RETURN acts as a toggle key, switching between concentric mode and normal. The M key (doesn't matter if it's upper or lower case) puts you into multi-color mode. In this mode you'll be drawing both concentrically and with multiple colors. When in the multi-color mode and selecting a color from the palette, you will need to select a second color. This is because multi-color mode uses the two colors selected and every color between. The M key is also a toggle key. Number keys 1 through 9 are used as sizing keys by many tools. Also the speed of color cycling or animations can be controlled by these keys. In spray paint mode the RETURN key and the M key act identically, both putting you into multi-color mode or removing you from it. In addition to the above mentioned keys, the - and + keys are used to slightly affect the flow of the paint. You can have an intensity of from 1 to 10 with the default set at 5 when first entering spray paint mode. The UNDO key is used to undo the last thing you did. Pressing it again returns your last work. One final key, ESC, is used by the Line To mode. Line To works by drawing a line from the current position of the mouse pointer to the last dot drawn on the screen. To reset Line To mode press the ESC key. You'll now be able to select a new starting point for a new group of lines. Whichever mode has been selected from the pull down menu can be exited by pressing the right mouse button. The pull down menu will re-appear and another selection can be made. FILE: Load File - As previously mentioned, Load File is available on this menu for ease of use. Save File - Identical to above. Load Put - As earlier mentioned. Save Put - Ditto again. Load Set - A previously saved SET can be reloaded into the program with this selection. Only SETS saved enhanced can be loaded. See later sections for more on this. Save Set - You can save a group of clips as raw data or enhanced. The enhanced SET can be reloaded into this program. The raw data SET will, however, be of reduced size and may be more beneficial to programmers. Enhanced SETS have the .SET extension while raw data SETS have the .PUT extension. Quit - The "I've worked long enough" selection. ART1: Clip - Identical to clip as described in the XS FX instructions. Paste - Again a repeat of paste in XS FX. Draw - This is the freehand draw mode. The color palette is selected while in this mode with the space bar. Brush sizes are chosen with the number keys 1-9. Pixel - Used for fine detail work, Pixel editing is accomplished by selecting it from the menu, positioning a cut box, then left clicking. Use the space bar to get the palette when the selected area has been enlarged. The RETURN key toggles between a pixel edit mode and a fill mode. Large areas of a color can be affected by entering fill mode. Line - Line mode permits the stretching of lines. Simply left click the mouse to mark the starting point of the line, then, while still holding down the left mouse button, drag the other end of the line to the desired position. Releasing the left mouse button sets the line. The number keys, RETURN, M, and the SPACE BAR are all active in Line mode. Selecting a larger size line with a number key involves pressing any of the odd numbered keys. Even numbered keys will have no effect. You cannot have both larger line sizes and line types at the same time. Larger line sizes are available only as the standard line. Line To - Line To is similar to the Line mode. When first entering Line To mode, however, left click the mouse in the desired starting position of your line, then release the mouse button. Reposition the mouse and click the left button again. A line will be drawn from the mouse position to the dot you first clicked. Continuous clicking about the screen will result in further lines being drawn, each one to the end of the last line drawn. Line To has no concentric or multi-color mode, so pressing either the RETURN key or the M key will place you in Smooth mode. The program will attempt to smooth the line as you draw it about the screen. It works best if the line segments are of a shorter length. Pressing the ESC key allows you to reset the starting point for drawing new lines. After pressing ESC, click a dot on the screen then proceed as normal. Bezier Curve - In Bezier Curve mode you'll need to set four points on the screen. The first and last points clicked act as the end points of the line, while the middle two clicks represent control points. After setting these four points, you can grab any one of them and drag it about the screen by placing the mouse pointer on the point, pressing and holding the left mouse button, and moving the mouse about. When you have moved and twisted the line about to your satisfaction, right click to set the line. Right clicking again will leave Bezier Curve mode. Left clicking, however, begins setting four more control points. Again, as with other line modes, the size of the line can be controlled by the odd numbered number keys. The space bar allows for selecting from the color palette and choosing line types. Fill - The space bar brings up the color palette and a fill patterns box. Several fill patterns are available for your use, or you can create and use your own custom fill pattern by clicking in the area of the box where the words "Fill Patterns" appear. To create and use a custom fill pattern, design a 16 by 16 pattern in one of the picture buffers. Pixel edit mode will be beneficial for this. You can use any color or combination of colors to create your fill pattern, but the resulting fill pattern will be in one color. After the pattern has been designed, go into Fill mode, left click in the Fill Patterns area, and click on NEW when the alert box appears. A cut box allows you to clip the pattern you designed. Once this pattern has been acquired, you can use it in Fill mode by clicking on the Fill Patterns area and choosing CURRENT from the alert box. A new pattern can be created at any time, but you will lose the last pattern created. ART2: Circle - Circles are drawn by placing the mouse pointer where you wish the center point of the circle to exist. Press and hold the mouse button and drag the circle to the proper size. Releasing the mouse button sets the circle. RETURN toggles concentric on and off, while M toggles multi-color mode. Size the line used to create the circle with the number keys. Line types can also be used. Box - Boxes are created much as circles and have the same options available. Ellipse - Create ellipses as you do Circles or boxes. You'll get some good effects using concentric or multi-color modes. Filled Circle - Filled circles can be created with any built-in pattern or custom fill. Filled Box - Construct filled boxes as you do filled circles. Filled Ellipse - This option allows for filled ellipses. Grid - For facilitating the designing of SPRITES or animation cels, the grid option can be used. Move the mouse left, right, up and down to size the squares. The size appears in the lower left corner. Clicking either mouse button sets the grid. Air Brush - To spray paint click on this option. Size the nozzle with the number keys, adjust the flow rate with the - and + keys, and use RETURN or M to enter multi-color mode. Remember that multi-color mode requires two selections from the color palette to pick a range of colors to use. Text - When entering Text mode, an alert box asks if you want SYSTEM fonts, OTHER fonts (GDOS), or to EXIT. Choosing SYSTEM fonts allows for the use of the built-in fonts. If GDOS is available and you instructed the program at the beginning to allocate memory for fonts, you can click on OTHER, at which time the fonts will load and be available. GDOS fonts and their font sizes are shown in a selection box. Pressing the space bar gives the color palette followed by an attribute box from which you can set up the attributes of the text. The number keys are used to size text. If the chosen text doesn't look too great at the selected size, try a different size. The actual process of getting text onto the screen goes like this: Choose either SYSTEM or OTHER font; next, if using GDOS fonts, click on the desired font, size the font with a number key, select a color, and set up the attributes of the text. Next, left click somewhere on the screen, preferably toward the left side to allow plenty of room (don't worry.... you'll be able to place the text later). Enter the desired text on the keyboard, pressing RETURN when done. You'll now be able to move the text about the screen with the mouse. When you have it where you want it, press the left mouse button to set the text. Pressing the left button again allows for more text entry, while pressing the right button will exit Text mode. Clear Screen - The entire screen can be erased at any time with this option. Clearing the screen also resets the color palette to its defaults. OTHER: Up Buffer - Page through buffers. Dwn Buffer - Page through buffers. Copy Buffs - Used as mentioned in XS FX section. Palette - The palette can be set up to your own liking with this option. Clicking on any color allows you to adjust that color with the RGB box. Click on the + or - boxes for the R, G, and B components of a color. In 512-color mode the range will be from 0 to 7. The range will be from 0 to F in 4096-color mode. The F is a number 15 represented in Hexadecimal mode. Therefore, the numbers 0 through 9 appear the same, while numbers 10, 11, 12, 13, 14, and 15 are represented in Hex as A, B, C, D, E, and F. You'll notice that when you've used GDOS fonts the font used for the numbers is a bit hard to read. It is, therefore, better if you load the GDOS fonts for use just before completing your session. You can, of course, go back to text mode, choose SYSTEM fonts and reset the fonts in that manner. If, however, you need to use your GDOS fonts again, it will necessitate the reloading of those fonts. Besides being used to adjust colors to your liking, this mode is used for the remapping of your palette. To remap two colors, first click in the D'Artiste box, then click the two colors you wish to switch. The picture in the buffer will appear discolored until the remapping process is complete. You can leave Palette mode by pressing the SPACE BAR or right clicking the mouse. By the way, I've experienced some system lock-up when using the remap ability. It seems to occur after using GDOS fonts. Haven't found an answer to that one yet. Take care and save your work often. Sprite Set - Though not truly functional as an animation tool, Sprite Set can still flip cels that you have created. It is designed for the programmer so that he can animate SPRITES to preview how they will appear in his finished program. To use this option you must first draw the different cels that will be used. You can have up to 5 or up to 10 cels in the animation sequence depending on how XS FX/D'Artiste set itself up for your particular computer. When the cels are complete, choose Sprite Set from the pull down menu. An alert box appears with the choices of NEW, APPEND, EDIT. NEW is used to erase a sequence if there is already an animation sequence in memory. APPEND is used to build the sequence. EDIT allows you to edit an existing sequence. To build a sequence click on APPEND. Another alert box appears from which you will select PUT or SPRITE. After you have decided the type of clip, cross hairs will appear to allow you to clip the cels of your animation. Cels are clipped in the same manner as clipping is done with the Clip option. When all the cels have been clipped or the animation buffer is full, right click the mouse button. An alert box allows you to loop back for more work or exit Sprite Set. In EDIT mode you can INSERT, DELETE, or XAMINE the cels of a current animation. To INSERT a cel select INSERT, then use the left and right mouse buttons to page through the animation cels. Locate the frame that you want the new cel inserted behind, press the space bar to select this location, and finally clip the new cel to be inserted. To DELETE a cel you can locate it with the left and right mouse buttons after first having selected DELETE from the EDIT alert box. Press the space bar when you have located the cel to delete. If you wish only to XAMINE the cels of your animation, select XAMINE from the alert box, then use the mouse buttons for paging through the sequence. The space bar will exit this mode. Animate Set - You can color cycle or animate a sequence with this option. An alert box appears to allow this selection. To color cycle choose it in the alert box. A palette will appear so that you can choose a range of colors to cycle through. Simply click on the lower and upper limits of the desired colors. The palette will disappear, and color cycling will begin. The speed of the cycling can be controlled with the number keys. Direction of the cycle is toggled with the RETURN key. Either mouse button will exit color cycle mode. Animation of a sequence is accomplished by selecting FLIP from the alert box. Page flipping will commence. The speed of the flipping is controlled by the number keys. Again you can exit with either mouse button. XS FX - This exits D'Artiste and returns you to the XS FX side of the program. A Minor Tutorial: Throughout this manual we've mentioned PUTS and SPRITES. For those of you who are not avid programmers, a little explanation may be in order. For our explanation and programming examples we'll be using GFA Basic, since it allows for easy use of picture segments. First let's discuss what a PUT file is. PUT files can be created in GFA basic by specifying the coordinates of a screen section to be clipped. This screen section is saved in a string variable. The resulting information can then be saved to disk and/or pasted back onto the screen in any location. The format of a PUT file or a screen segment saved in a string variable is simply the width minus one, height minus one, and number of bit planes, followed by the data representing the picture segment. GFA Basic can PUT this data back on the screen with a statement like: PUT 10,50,put$. In the previous command, 10 and 50 are the coordinates of the screen where you wish the PUT to reside. Put$ is the variable that contains the PUT information. You do not need to be concerned with the width, height, and bit plane information in put$ since GFA Basic's PUT statement will use this information to paste the PUT on the screen. So what's a SPRITE? Well, the Atari line of 16-bit machines do not have hardware sprites (built into the machine), bad news for programmers. Sprites are those little fellows (sometimes not so little) who flit about the screen as you play your favorite video game. So if you decide you want to write your own video game, you must have sprites. No problem. GFA Basic actually has a SPRITE statement available for using software sprites in your program. Problem is they are single color sprites and must be constructed on a 16 by 16 grid. What if you want multi-colored sprites of a larger or smaller size? The answer is to revert back to the PUT statement in GFA Basic, and paste those multi- colored fellows right on there. Hey, works great on a blank screen. But if you have a picture loaded as a backdrop, pasting a PUT on the screen may not work so great. All colors, including the background color (screen color) are pasted down, usually obliterating something of your backdrop that you didn't want obliterated. This problem can be overcome because the PUT statement in GFA Basic allows for pasting in different modes. The default mode is replace which obliterates everything. Other modes are accomplished by adding another parameter to the previously mentioned PUT statement: PUT 10,50,put$,6. The ",6" means that you want to paste the PUT down in transparent mode. Great! But pasting something down in transparent mode on a backdrop causes all the colors of the backdrop to affect the colors of the PUT being pasted. Your little fellow won't look so good all discolored, even if the screen color now becomes transparent. Well, this problem can be overcome too. As you'll remember, when creating SPRITES with XS FX/D'Artiste an additional file was written to disk with the .MSK extension. It's this MSK file that solves our problem. Here's how we do it: PUT 10,50,msk$,4 PUT 10,50,put$,6 Placing the MSK down in mode 4 obliterates those annoying colors beneath the sprite in the exact shape of the sprite. In other words, though the clipping of the sprite was done in a rectangular box, only the colors other than screen color (background color) will affect the backdrop and be obliterated. Now we can paste our sprite down in mode 6, and everything really is great! If you don't fully understand what we've just discussed, don't worry too much about it, just try loading a backdrop, the PUT file, the MSK file and paste it all together. You'll see for yourself. For those who don't know how to load the pictures to begin with, try looking around on GEnie. There's help available in certain files that should get you going. Now about those Sprite Sets that we created with the art program. A SET is simply a group of PUTS all appended together. It's beneficial to do this if your sprite will change shape (animate) while on screen. These SETS can also contain MSK data if you created them as sprites. You'll also remember that you had the option of saving the data as raw data or enhanced. Raw data saves result in several data strings saved together, therefore, it's up to you to know the length of these separate strings and whether there is any MSK data there when it comes time to load them into your own program. Enhanced SETS, however, contain much more information. The file format of an enhanced SET is as follows: Color palette 32 bytes Number of sprites 2 bytes Mask flag 2 bytes Length of next data 2 bytes Sprite and mask data variable .... .... The mask flag tells you whether there are masks available to make the PUTS into SPRITES. If the flag is set (1), masks are available, if not (0), no MSK data available. The length of next data and the sprite and mask data repeat through the rest of the file for each sprite and mask available. You can load an enhanced SET with the following method: OPEN "I",#1,filename$ palette$=INPUT$(32,#1) numspr%=CVI(INPUT$(2,#1)) DIM setput$(numspr%) maskflag%=CVI(INPUT$(2,#1)) IF maskflag%=1 DIM setmsk$(numspr%) ENDIF FOR i%= 1 to numspr% setput$(i%)=INPUT$(CVI(INPUT$(2,#1)),#1) IF maskflag%=1 setmsk$(i%)=INPUT$(CVI(INPUT$(2,#1)),#1) ENDIF NEXT i% CLOSE #1 You've now loaded all the sprite and mask data into the arrays setput$() and setmsk$() and can use the information to paste the sprites on the screen and animate them. The information supplied above is not intended to be a full tutorial on graphics. It is intended only so that programmers can use the files created with XS FX/D'Artiste. If you are a beginner study your GFA manual well, download help files from GEnie, seek help at your local user's group, and never be afraid to ask. Enjoy...... D. L. Edwards