From 816230058eb4a9ce184cd935d98da5244c91fdf9 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Tue, 18 Sep 2007 18:04:57 +0000 Subject: [PATCH] cleanup: doc moved to doc folder git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@22 416bcca6-2ee7-4201-b75f-2eb2f807beb1 --- doc/doc_eng.txt | 1983 +++++++++++++++++++++++++++++++++++++++++++ doc/doc_fra.txt | 2113 ++++++++++++++++++++++++++++++++++++++++++++++ doc/history.txt | 273 ++++++ doc/readme!.1st | 145 ++++ doc/readme.txt | 60 ++ doc/tech_eng.txt | 732 ++++++++++++++++ doc/tech_fra.txt | 769 +++++++++++++++++ doc/todo.txt | 26 + 8 files changed, 6101 insertions(+) create mode 100644 doc/doc_eng.txt create mode 100644 doc/doc_fra.txt create mode 100644 doc/history.txt create mode 100644 doc/readme!.1st create mode 100644 doc/readme.txt create mode 100644 doc/tech_eng.txt create mode 100644 doc/tech_fra.txt create mode 100644 doc/todo.txt diff --git a/doc/doc_eng.txt b/doc/doc_eng.txt new file mode 100644 index 00000000..4e7afbe0 --- /dev/null +++ b/doc/doc_eng.txt @@ -0,0 +1,1983 @@ + ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ + ³ ÜÜÜÜ ÜÜÜÜ ÜÜÜ ÜÜÜÜÜ Ü Ü ÜÜÜÜ ³ + ³ Û Û Û Û Û Û ßÜ Üß Û ³ + ³ Û ÜÜ ÛÜÜÜß ÛÜÜÜÛ ÛÜÜ ßÜß Üßß ³ + ³ Û Û Û ßÜ Û Û Û Û Û Û .00 ³ + ³ ßÜÜÜÛ Û Û Û Û Û Û Û ÛÜÜÜÜ ³ + ³ ³ + ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ + + + GRAFX 2.00 á96.5% + + - USER'S MANUAL - + + + ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ + ³ CONTENTS ³ + ³ ÍÍÍÍÍÍÍÍ ³ + ³ ³ + ³ - Presentation ³ + ³ - Required equipment ³ + ³ - Configuration files ³ + ³ - Available options ³ + ³ - Let's talk about $$$, baby ³ + ³ - Drawing tips ³ + ³ - Trouble-shooting/General hints/FAQ ³ + ³ ³ + ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ + + + + +Presentation: +ÍÍÍÍÍÍÍÍÍÍÍÍÍ + + This program is designed for drawing 256-color pictures in a huge range of + resolutions (actually, there are 60 with some coming from the Amiga world). + No one can contest that most of the beautiful GFX of the Scene were drawn + on Amiga. But these GFX are in video resolutions that aren't the common PC + modes. So we wanted to make the first paint program on PC that could + visualize those pictures, and that could allow you, of course, to draw yours + in the video mode that you want. + + This program was first shown at the Wired'96 where it met a big success + (bigger than all our expects) so we hope you'll like it too. + + It's made up of many drawing tools, effects and menus. All the effects + will work with any drawing tool. + + This software has been created for YOU, PC users who envy Amiga owners + for their fantastic paint programs. This software doesn't pretend to replace + the best programs on Amiga, but it modestly tries to fill the gap between PC + and Amiga in the field of bitmap drawing. + If you dream about a very useful option we haven't thought of yet, do not + hesitate to tell us. If we also think it can be useful, and above all if it + is possible to include it in the program :), then we'll implement it as soon + as possible. + + + + +Required equipment: +ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ + + To run GrafX2, you'll need: + + - a PC (386DX or higher), + - DOS 5 or higher (maybe it works with DOS 3.1 but we don't remember which + functions of the INT 21h we use), + - a VGA compatible video card (a VLB or PCI card is strongly recommended) + - a mouse (and its driver), + - 3 Megabytes of RAM (can work with less if you use the DOS4GW or Windows + disk-cache). + + But if you want to use it more efficiently, you'll need: + + - at least a 486DXý66 (to improve global speed), + - at least 8 Mb of RAM for grabbing very big brushes and to use multi-undo, + - a VESA 1.2 (or later) compatible video card (to access more video modes). + + + + +Configuration files: +ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ + + GrafX2 needs two files to store its configuration: 'GFX2.INI' and + 'GFX2.CFG'. + + GFX2.INI: + ÄÄÄÄÄÄÄÄÄ + + This file contains the parameters defined in the settings menu and some + others. You may edit this file with any standard ASCII editor. + When you click on Reload in the settings menu, all the data contained in + this file are restored. When you click on Save or when you quit the + program with the Auto-save option on, all the current parameters are + written into (updated in) this file. + + If you corrupted this file and don't manage to fix the problem, then + delete it and run GFXCFG.EXE. It will automatically create a default + initialization file when it is absent. + + + GFX2.CFG: + ÄÄÄÄÄÄÄÄÄ + + This file contains the keyboard configuration plus the state of the + following variables in the program: + þ video modes + þ shade tables + þ stencil + þ mask + þ gradients + + All these variables are saved when clicking on the Save button in the + settings menu or when exiting the program with the Auto-save option on. + However, when you click on Reload in the settings menu, only the state + of each video mode is restored. + + Note: the GFX2_FRA.CFG file is a default configuration file for AZERTY + keyboards. If you have got an AZERTY keyboard, you may replace the + GFX2.CFG file by GFX2_FRA.CFG. + + Important: from version 2.00 á95.5%, .CFG files will have ascending + compatibility. This means that you'll be able to retrieve most of their + contents from a release to another by copying your old .CFG file into + your new GrafX2 directory and running GFXCFG.EXE. Indeed, this program + will convert your old file for it is usable by the new version of GrafX2. + But copying a .CFG file from an earlier version than version 95.5% won't + work. Moreover, (I don't see why you would do that, but...) copying a + recent .CFG file to an older version shouldn't work neither. + + + Note: We highly recommand not to modify the keys related to the mouse + emulation in the GFXCFG program because the values you could use may inter- + fere with the keyboard shortcuts used in the menus. + + + + +Available options: +ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ + + The different options available in GrafX2 will be listed and detailed + below. They will be described as follows: + + ÉÍÍÍÍËÍÍÍÍËÍúúúÍ» ÉÍÍÍÍ» + º 1 º 3 º º triangular buttons will º1 / º + º º º º be detailed like this: º / 2º + ÌÍÍÍÍÎÍÍÍÍÎÍúúú͹ ÈÍÍÍͼ + º 2 º 4 º º + º º º º + ÈÍÍÍÍÊÍÍÍÍÊÍúúúͼ + + + 1 - Paintbrushes + 2 - Adjust picture / Effects on the picture + 3 - Hand-drawing + 4 - Splines + 5 - Lines + 6 - Spray + 7 - Floodfill + 8 - Polygons / Polyforms + 9 - Polyfills / Filled polyforms + 10 - Empty rectangles + 11 - Filled rectangles + 12 - Empty circles/ellipses + 13 - Filled circles/ellipses + 14 - Rectangles with gradation + 15 - Gradation menu + 16 - Spheres / Ellipses with gradation + 17 - Brush grabbing / restore + 18 - Polyformed brush grabbing (lasso) / restore + 19 - Brush effects + 20 - Drawing modes + 21 - Text + 22 - Magnifier mode / Menu + 23 - Pipette / Invert colors + 24 - Screen size / Safety resolution + 25 - Spare page / Copy current to spare + 26 - Save picture / Autosave + 27 - Load picture / Reload + 28 - Settings + 29 - Clear picture + 30 - Help / Statistics + 31 - Oops (Undo/Redo) + 32 - Kill current page + 33 - Quit program + 34 - Palette menu + 35 - Scroll palette left / right + 36 - Palette window + 37 - Hide menu + + + + When you will use any drawing tool, left-clicking will draw with the Fore + color while right-clicking will draw with the Back-color. + + When dialog boxes or windows will come on the screen, Cancel (or No) will + always be emulated by the key, and OK (or Yes) by the key. + + In the different menus, the titles of the buttons that contain an under- + lined letter can be emulated by pressing this letter on the keyboard. + + In some menus, you can select a color range in the palette. This means + that you can click on a color and move the mouse to another by maintaining + the button pressed to select a color range. + + + + 1 - Paintbrushes: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Left click: + ============> + + Displays a menu where you can choose the shape of your paintbrush. + + Paintbrushes are sorted by family. You can see some paintbrushes of + the same family but with different sizes. There is at least one paint- + brush from each family displayed in this menu. + Here is the list of all the different paintbrush families: + + ÛÛÛÛÛÛÛ ÛÛÛ Û Û Û Û Û Û Û Û + ÛÛÛÛÛÛÛ ÛÛÛÛÛ Û Û Û Û Û Û ÛÛÛ Û Û + ÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛ Û Û Û Û Û Û Û Û ÛÛÛÛÛ Û + ÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛ Û Û Û Û Û Û ÛÛÛÛÛÛÛ + ÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛ Û Û Û Û Û Û Û Û ÛÛÛÛÛ Û Û Û + ÛÛÛÛÛÛÛ ÛÛÛÛÛ Û Û Û Û Û Û ÛÛÛ + ÛÛÛÛÛÛÛ ÛÛÛ Û Û Û Û Û Û Û Û Û + + Square Disc Sieve Sieve Diamond Random + square disc shaped + ______________________________________________________________ + + Û Û Û Û Û Û + Û Û Û Û Û Û + Û Û Û Û Û Û + ÛÛÛÛÛÛÛ Û Û Û Û ÛÛÛÛÛÛÛ + Û Û Û Û Û Û + Û Û Û Û Û Û + Û Û Û Û Û Û + + Horiz. Vertical Slash Back- Cross X Cross + + bar bar slash + + The 3 last paintbrushes in the menu belong to the "miscellaneous" + family and their size cannot be modified. + + + Right click: + ============> + + Transforms your current user-defined brush into a paintbrush. This is + actually a "monochromisation" of your user-defined brush. This means + that every color of the brush that aren't the Back-color will be set to + the Fore-color. But this option doesn't alter the brush: you'll just + have to right-click on the "Get brush" buttons to get your brush back. + + + Note: When you press (not in the menu) the key (default value), + the current paintbrush becomes the smallest member of the "Disc" family: + i.e one pixel. + + + + 2 - Adjust picture / Effects on the picture: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Left click: + ============> + + Allows you to scroll the picture to re-center your graph for example. + + Any part of the picture that goes out of the image by a side comes + back by the opposite one. + + It is assimilated to the drawing tools family. + + + Right click: + ============> + + *** Not implemented yet *** + + + + 3 - Hand-drawing: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Left click: + ============> + + Selects the current hand-drawing mode as the active drawing tool. + There are 3 hand-drawing modes: + + - Continuous hand-drawing: as you move the mouse, the paintbrush is + regularily pasted on the picture. This drawing tool allows to change + the fore and back colors when being in use. + + - Discontinuous hand-drawing: as you move the mouse, the paintbrush is + pasted on the picture every time a delay is passed (actually, the + delay is 1 VBL (vertical blanking)). This drawing tool allows to + change the fore and back colors when being in use. + + - Dot by dot hand-drawing: the paintbrush is only pasted at the + position where you first clicked. + + + Right click: + ============> + + Toggles the different hand-drawing modes and activates, at the same + time, the hand-drawing tool. + + + + 4 - Splines: + ÄÄÄÄÄÄÄÄÄÄÄÄ + + Left click: + ============> + + Selects the current curve-drawing mode as the active drawing tool. + There are 2 different curve-drawing modes: + + - 4 control points curves: define the basic line like a classical + line, then move, with the left mouse button, the inner control + points to choose the shape of your curve. When the curve has the + shape you want, click with the right mouse button to draw it + definitively. + + - 3 control points curves: the same as above, but you'll have only one + inner control point to place. Moreover, the spline will be traced + just after placing this point. + + + Right click: + ============> + + Toggles the different curve-drawing modes and activates, at the same + time, the curve-drawing tool. + + + + 5 - Lines: + ÄÄÄÄÄÄÄÄÄÄ + + Left click: + ============> + + Selects the current line-drawing mode as the active drawing tool. + There are 3 line-drawing modes: + + - Classical lines: when first clicking on the picture, you'll define + the start of the line. Maintain your click to choose the end of the + line and release the mouse button to set it. + + - Knotted lines: works like classical lines, but the end of your line + will automatically become the start of the next one. When you want + to stop chaining lines, use the opposite mouse button. "The opposite + button" means that if you started to draw lignes with the left + button (Fore-color), you'll have to stop the procedure with the + right button; and conversely. + + - Concentric lines: when first clicking on the picture, you'll define + the center of the lines. In fact, the center is defined by the + position of the mouse when you release the mouse button. Then you + can draw lines from the center to the current mouse position by + clicking. To stop drawing concentric lines, use the opposite mouse + button. This drawing tool allows to change the fore and back colors + when being in use. + + + Right click: + ============> + + Toggles the different line-drawing modes and activates, at the same + time, the line-drawing tool. + + + + 6 - Spray: + ÄÄÄÄÄÄÄÄÄÄ + + Left click: + ============> + + Selects the spray as the active drawing tool. This drawing tool allows + to change the fore and back colors when being in use. + + + Right click: + ============> + + Displays a menu where you can configure the spray: + + - Size: Defines the diameter of the circle in which will effectively + fit the spray. + + - Delay: Defines the number of VBLs that will be waited for between + two flows of spray. + + - Mode: Defines whether you want to use a monochrome spray or a multi- + colored one. + + - Mono-flow: Defines the number of paintbrushes that will be pasted in + the circle of the spray at each cycle. + + - Palette: Left-click on a color of the palette to see how much it + will be used in the multicolored flow, and modify it by using the + gauge on the right. If the flow of this color was equal to 0, then + the "Init" value will be applied. Or set the flow of a color to 0 by + clicking on it with the right mouse button. + + - Clear: Removes all the colors from the multicolored flow. + Actually, this puts a 0 value in the use of each color. + + - Init: Allows you to define a value that will be set to the color you + click on in the palette if its value is equal to 0. This permits to + tag a set of colors more quickly. + + - +1,-1,x2,ö2: Modify the values of all the tagged colors (and only + them). + + + Tip: If you often use the Shade mode, and are bored to click many + times on a color to reach the color you want, you can define a + spray with "Size"=1, "Mono-flow"=1, and "Delay"=2 (or more, + according to your reflexes). And then, you'll just have to click + a few hundredths of second to modify a color. + + + + 7 - Floodfill: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Left click: + ============> + + Selects the filler as the active drawing tool. The filler, as any + drawing tool, will be affected by all the effects! + + Note that only the visible part of the picture will be filled (as + every other drawing tools, the floodfill only alters the visible part of + the picture; this avoids unwanted effects that wouldn't be controlled by + the user). + + + Right click: + ============> + + Selects the color replacement as the active drawing tool. + + Any rule has its exceptions and this one doesn't depart from that. + Indeed, this tool is the only one to be affected by no effect (except + Stencil) and to be able to modify non visible parts of the picture. + The function of this tool being replacing all the occurences of a + color in the picture by another, if would have been a shame to limit + modifications only to the visible part of the picture. + + + + 8 - Polygons / Polyforms: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Left click: + ============> + + Selects the polygons as the active drawing tool. + + This works just like knotted-lines but loops the extremities when + you're finished. + + + Right click: + ============> + + Selects the polyforms as the active drawing tool. + + This works like a combination of free-hand drawing and knotted-lines. + If you keep the mouse button pressed, you'll draw as if you were in + free-hand drawing mode. And, if you release the mouse button, it will + work like knotted lines. + + Click on the opposite mouse button (i.e.: click right if you started + to draw with the left mouse button, and vice versa) to terminate the + operation. The two extremities will be linked automatically. + + + + 9 - Polyfills / Filled polyforms: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Work exactly the same way as the polygons et polyforms above, but fill + in the interior of the drawn shapes. + + + + 10 - Empty rectangles: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Any click: + ==========> + + Selects the empty rectangles as the active drawing tool. + + Set a corner of a rectangle. Maintain the click to move the opposite + corner and release the mouse button to set it definitively. + + + + 11 - Filled rectangles: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Any click: + ==========> + + Selects the filled rectangles as the active drawing tool. + + Works like an empty rectangle. + + + + 12 - Empty circles/ellipses: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Left click: + ============> + + Selects the empty circles as the active drawing tool. + + Position the center of the cercle and maintain the mouse button to + select its radius. + + + Right click: + ============> + + Selects the empty ellipses as the active drawing tool. + + Position the center of the cercle and maintain the mouse button to + select its dimensions. + + + + 13 - Filled circles/ellipses: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Work like empty circles and ellipses. + + + + 14 - Rectangles with gradation: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + *** Not implemented yet *** + + + + 15 - Gradation menu: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Any click: + ==========> + + Opens a window where you can define the way gradations are processed. + The different sections of this menu are: + + - Direction (arrow): Switches the direction of the gradation. + + - Dithering method: Toggles the 3 following methods: + - No dithering + - Basical dithering + - Enhanced dithering + + - Mix: Mixes the gradation with a more or less random factor. + + - Palette: Select a color range to build a gradation. + + - Index scroller: Defines the current gradation among a set of 16 that + will be memorised. + + + + 16 - Spheres / Ellipses with gradation: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Left click: + ============> + + Selects the spheres as the active drawing tool. + + Position the center of the sphere and maintain the mouse button to + select its radius. Then place the spot-light. + + + Right click: + ============> + + Selects the ellipses with gradation as the active drawing tool. + + *** The current version of this tool isn't the right one; *** + *** so we'll explain how to use it when it will be done *** + + + If you trace a sphere or an ellipse with gradation with the right mouse + button, the result will be the same figure filled with the Back-color. + + + + 17 - Brush grabbing / restore: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Left click: + ============> + + Engages a brush grabbing. + + Click on a corner of the rectangle containing the brush then maintain + the click to define the opposite corner of the rectangle. Release the + mouse button to grab the brush. Performing this operation with the right + mouse button will erase the area where the brush was grabbed with the + Back-color. + + + Right click: + ============> + + Restores the old brush. + + + + 18 - Polyformed brush grabbing (Lasso) / restore: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Left click: + ============> + + Grabs a brush of any shape by defining a polyform (please refer to + section 8 for more explanations). + + + Right click: + ============> + + Restores the old brush (same as above). + + + + 19 - Brush effects: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Any click: + ==========> + + Displays a menu where the following options are available: + + - X: Flip-X. + + - Y: Flip-Y. + + - Rotate by 90ø: Rotates the brush by an angle of 90 degrees. + + - Rotate by 180ø: Rotates the brush by an angle of 180 degrees. + + - Rotate by any angle: Triggers an interactive operation that allows + you to rotate the brush. For this, start by placing the center or + rotation with the left mouse button (if, at this moment, you press + the right button, the operation with be cancelled). After that, you + can define the angle of rotation as many times as you want by moving + the mouse and left-clicking. Then validate with the right button + when you are satisfied. + Meanwhile, you can press on the 8 outer digits of the numeric pad + for defining angles multiple of 45ø: + 135ø 90ø 45ø + \ | / + '7' '8' '9' + 180ø -'4' '6'- 0ø + '1' '2' '3' + / | \ + 225ø 270ø 315ø + + + - Stretch: Triggers an interactive operation that enables you to stretch + the brush. For this, start by placing the upper-left cornerof the + brush with the left mouse button (if, at this moment, you press the + right button, the operation will be cancelled). after that, you can + place the opposite corner as many times as you need, then validate + with the right mouse button when you are satisfied. If you place + this point at coordinates inferior to the ones of the first point, + the brush will be inverted. + Meanwhile, you can press the following keys whose effects are: + 'D' : double the brush in X and Y + 'H' : reduce the brush by half in X and Y + 'X' : double the brush in X + 'Shift+X': reduce the brush by half in X + 'Y' : double the brush in Y + 'Shift+Y': reduce the brush by half in Y + 'N' : restore the normal size of the brush (can be useful + because it's the only way for cancelling) + + - Distort: *** Not implemented yet *** + + - Outline: + This option permits to draw the outlines of the brush with the Fore- + color. + + - Nibble: + This option "nibbles" the outlines of the brush. It's in some way + the opposite effect of the Outline option. + + - Recolorize: Remaps the brush so that it looks like it would in the + spare page, using the current palette. + + - Get brush colors: Transfers the spare page's colors used by the + brush to the current palette. + + - Brush handle: Allows you to choose where to place the handle of the + brush. + + - Load / Save: load or save a brush from disk. + + + + 20 - Drawing modes: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + This button opens a menu where you can switch on or off the different + drawing modes. ([F1]-[F9] keys correspond to the 9 buttons) + + In this menu, the "All off" button switches all the drawing modes off. + The [Del] key is the keyboard shortcut for this button. + + The "Feedback" button is only used in "Shade", "Quick-shade, "Transpa- + rency" and "Smooth" modes. When it is set, it means that the _current_ + state of the picture has to be taken into account for the effect instead + of the state in which the image was when you started to click for drawing. + The best, as often, is that you try by yourself with and without Feedback + to see the difference. + + The other buttons are the following: + + + * Shade mode / Menu: + -------------------- + + It consists in increasing or decreasing the color number within a user- + defined range. This shows its real dimension when used with a range of + colors that shade off. Then, you can work on a part of your picture where + colors belong to the same range without having to change your brush color + all the time. + You can choose the incrementation or decrementation of the color by + pressing the left or right mouse button while drawing. If you click on a + color that does not belong to the range, it will remain unchanged. + + Left click: + ============> + + Switches the Shade mode. + + + Right click: + ============> + + Opens a menu where you can define one table of shades within a range + of 8 memorised by the program. + The different sections of this menu are: + + - Palette: You can define in it the color blocks that will be inserted + into the table of shades. + + - Scroller: Used to change flick through the tables of shades. + + - table of shades definition area: The 512 squares should be widely + sufficient to define the different shades since every 256 colors of + the palette cannot be present more than once in each table. + + - A window (on the top-right side) permits to visualize the different + shades defined in he current table. + + - Copy: Copy the contents of the table in a buffer. + (Each time you open this menu, the current table is automatically + transfered into this buffer). + + - Paste: Copy the contents of the buffer above in the current table. + + - Clear: Reset the "shades" table. + + - Insert: Used to insert the block selected in the palette at the + cursor's position in the table of shades. + IF you click with the left mouse button on this button THEN + IF a block of more than one color is selected in the table THEN + It is deleted and the block defined in the palette is inserted. + ELSE + The block defined in the palette is inserted at the postion just + before the selected square. + END IF + ELSE + The block defined in the palette is inserted by erasing the colors + following the beginning of the bloc selected in the table. + END IF + + - Delete: Delete the block selected in the table. + + - Blank: Follows this algorithm: + IF you click with the left mouse button on this button THEN + Replace the block selected in the table by blank squares. + ELSE + IF a block of more than one color is selected in the table THEN + Insert blank squares to the left and to the right of the block. + (this is useful for isolating a shade quickly) + ELSE + Insert blank squares to the left of the selected square. + END IF + END IF + + - Invert: Invert the order of the block selected in the table. + + - Swap: Allows you you move a block (this exchanges it with what is + where you want to move it). + + - Undo: Cancel the last modification of the table. + + - The 2 numbers displayed on the right of these buttons are: + (above) - the number of the color selected in the palette if only + one color is selected. + (below) - the number of the color contained in a square in the + shades table if this square is the only one selected. + + - The "mode" button displays 3 different modes: + "Normal": + Shades in the range and saturates to its boundaries. + "Loop": + Shades in the range and loops if boundaries are passed. + "No saturation": + Shades in the range and doesn't saturate if boundaries are passed. + If the Step (see below) is set to 1, this option does exactly the + same as the Normal mode. + + - Set/Disable: If you want to define several shades in the same table + but you'd like these shades not to be effective at the same time, you + can mask (disable) some parts of the table so that they will be + interpreted a blank squares. + To do that, select a block in the table of shades and click on "Set". + The block will be underlined with a white line; this means that it is + disabled. + + - Clear/Enable: This does exactly the opposite as the button above. + + - Step: Defines the step of incrementation of the shade. The bigger, + the faster you run through the colors of the shade. + For example: if the step is 2 and that you have defined a shade with + the colors 0,1,4,5,9 and that you click on a pixel of color 1, it will + take the value 5 which is 2 positions next in the la table. + + (We are sorry for these technical considerations quite far from a + purely artistic point of view; but know that this effect is really very + useful and it is preferable that you understand its whole functionment + if you want to fully take advantage of it). + + + + * Quick-shade mode / Menu: + -------------------------- + + This drawing mode has about the same effect as Shade mode's except that + it is faster to configurate but a little bit less powerful. + When you draw on a color of the image which is between the fore- and the + back-color in the palette, the color tends towards the fore-color + (according to the step defined) if you draw with the left mouse button, or + it tends towards the back-color if you are using the right mouse button. + + Left click: + ============> + + Switches the Quick-shade mode. + + + Right click: + ============> + + Opens a menu with a few parameters that mean exactly the same as in + the menu of Shade mode. These parameters are the step and the loop/satu- + ration mode (normal, loop, no saturation). + + + + * Stencil mode / Menu: + ---------------------- + + It is used to prevent some colors from being modified if you draw on + them. The main application of the stencil is when you want to change one + color or more into another. + + Left click: + ============> + + Switches the Stencil mode. + + + Right click: + ============> + + Opens a menu where you can define a stencil. + The different sections of this menu are: + + - Clear: No color is protected. + + - Invert: Colors that were protected are unprotected and vice versa. + + - Palette: Select colors that should be protected with the left mouse + button or unprotect colors with the right mouse button. + + + + * Mask mode / Menu: + ---------------------- + + This effect could have been called "True stencil" because it protects + some parts of the picture instead of some colors. The colors you tag + represent the pixels in the spare page, corresponding to the pixels in the + current page, that you don't want to alter. + For example, draw a simple white figure on a black background in the + spare page. Then, tag the black color in the menu of the Mask mode. When + you'll draw in the current page, only the pixels corresponding to the + white (non-black) ones in the spare page will be modified. + + Left click: + ============> + + Switches the Mask mode. + + + Right click: + ============> + + Opens a menu where you can set the colors of the Mask. + This menu works the same way as the one of the Stencil, so please + refer to the Stencil paragraph to know how to use it. + + + + * Grid mode / Menu: + ------------------- + + This is useful to snap the cursor to the cross-points of a grid. It's + generally used to draw a grid before drawing sprites of the same size such + as a font or tiles, or for drawing figures or grabbing brushes with their + dimensions multiple of the step of the grid.'); + + Left click: + ============> + + Switches the Grid mode. + + + Right click: + ============> + + Opens a menu where you can define the grid parameters. + These parameters are: + + - X,Y: Steps of the grid. + + - dX,dY: Offsets of the grid. + + + + * Sieve mode / Menu: + -------------------- + + This effect allows you, by defining a pattern, to draw only on + particular points of the picture. + If you are a Manga drawer, you might find this useful to make patterned + shades or color transitions. + + Left click: + ============> + + Switches the Sieve mode. + + + Right click: + ============> + + Opens a menu where you can define the Sieve parameters. + This menu consists in: + + - 16x16 drawing area: You can define a pattern in it (left click => + white pixel / right click => black pixel). + All the white pixels indicate that, when you'll draw, pixels will be + applied on the picture at the corresponding positions whereas black + pixels won't modify the picture: whites pixels are the "holes of the + sieve". + + - 12 default patterns: They can be copied to the drawing area. + + - "Transfer to brush": Copies the pattern to the brush (white pixels + => Fore-color / black pixels => Back-color). + + - "Get from brush": Puts the brush into the drawing area (back-color + => black pixels / others => white pixels). + + - Scrolling 4-arrows pad: Scrolls the pattern in the drawing area. + + - Resizing 4-arrows pad: Defines the dimensions of the pattern. + + - Default-value (black or white square): Indicates which value must be + inserted when you increase the dimensions of the pattern. + + - "Clear": Sets the whole pattern with the default value (see above). + + - "Invert": It... inverts :) ... black and white pixels. + + + + * Transparency mode (Colorize) / Menu: + -------------------------------------- + + This allows to mix the color(s) of the paintbrush with the colors of the + picture. It's used to make transparency effects like with watercolors. + + Left click: + ============> + + Switches the Transparency mode. + + + Right click: + ============> + + Opens a menu where you can define the Transparency parameters. + These parameters are: + + - Interpolation rate: Indicates the percentage of the applied color + that will be considered upon the replaced color. + + - Interpolation method: Uses an interpolation algorithm to compute the + color, according to the interpolation rate. + + - Additive method: Uses the lightest colors to choose the color to + apply. + For example: if you want to apply a color RGB:30,20,40 on a color + RGB:10,50,20, the color applied will be the one, in the palette, + that is the closest to the theoretic color RGB:30,50,40. + + - Subtractive method: uses the darkest colors to choose the color to + apply. + For example: if you want to apply a color RGB:30,20,40 on a color + RGB:10,50,20, the color applied will be the one, in the palette, + that is the closest to the theoretic color RGB:10,20,20. + + + + * Smooth mode / Menu: + --------------------- + + It provides an easy but not as efficient anti-aliasing as any artist's + touch. Anyway this effect finds a better use in making a blurry aspect. + + Left click: + ============> + + Switches the Smooth mode. + + + Right click: + ============> + + Opens a menu where you can define the Smooth matrix or choose one + among the 4 ones predefined. + The middle square represents the pixel on which you draw and the 8 + others represent the neighbour pixels. Then, the point on which one draw + will be replaced by the weighted average (according to values of each + squares) of the 9 defined points. + + + + * Smear mode / Menu: + --------------------- + + It smears pixels in the direction you are moving your paintbrush, just + as if you wanted to spread fresh paint with your fingers. You can combine + this effect with the transparency effect. + + Any click: + ==========> + + Switches the Smear mode. + + + + * Tiling mode / Menu: + --------------------- + + It consists in displaying parts of the brush that are adjusted on a + tiling when you are drawing. It's mainly used for quickly drawing a + background with a pattern, but there is a great number of other + possibilities. + + Left click: + ============> + + Switches the Tiling mode. + + + Right click: + ============> + + Opens a menu where you can define the Tiling parameters. + These parameters are the offsets of the tiling. + + + + 21 - Text: + ÄÄÄÄÄÄÄÄÄÄ + + *** Not implemented yet *** + + + + 22 - Magnifier mode / Menu: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Left click: + ============> + + Engages/Disengages the choice of the zoomed window. If you're already + in magnifier mode, you'll return to normal mode. + + + Right click: + ============> + + Displays a menu where you can choose the magnifying factor. + + + Note: When you are in Zoom mode, you can move the "split" bar by + clicking on it and moving your mouse left or right while holding the mouse + button down. + + + + 23 - Pipette / Invert colors: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Left click: + ============> + + Engages a color grabbing. + + Click on the picture to get the color of the pixel you're on. You can + either get a new Fore-color or Back-color with respectively left or + right mouse button. + + + Right click: + ============> + + Swap Fore-color and Back-color. + + + The color currently pointed will be displayed in the tool-bar right + after the coordinates. + If you click outside the picture, the color 0 will be returned. + + + + 24 - Screen size / Safety resolution: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Left click: + ============> + + Displays a menu where you can define the size of your picture (up to + 1024x768) by clicking in the boxes named "Width" and "Height"; and the + resolution in which you want to draw (in the list). + + Clicking on a resolution button with the right mouse button will not + only set the resolution of the screen, but also set the picture + dimensions to the screen ones. + + Resolutions written in dark gray are VESA modes that aren't supported + by your video card. If you have some modes like that, you should try to + run a VESA driver such as Univesa or Univbe before running the program. + If these modes still aren't available, then this means that your video + card really doesn't support them. + + The small buttons on the left-hand side of the lines in the list of + modes have been designed to allow you to disable some modes that are not + supported by your card. So, the modes that you will disable won't be + used when loading pictures with "Auto-set resolution" ON. + + When you click on one of these buttons, its color changes to one of + the 4 following. The signification for each color of these buttons is: + + - Light gray: The video mode is OK. It can be used by the auto-set + resolution option when you load picture, and you can select it in + the menu of resolutions. + + - White: It works exactly the same as above. Moreover, it allows you + to tag your favourite modes. Indeed, the huge number of video modes + makes it more difficult to find the mode your want in the list; so + you can tag your favoutite ones in white, so that it will be easier + to locate them. (Note: you cannot disable the standard 320x200 mode) + + - Dark gray: It allows you to indicate which modes are not really + perfect (flickering, not centered, etc...) but which can be used + even so. The difference with the light grey button is that these + modes won't be used by the auto-set resolution option. + + - Black: Use it for totally unsupported modes. Thus, these modes won't + be selected the "auto-set res." and the program will prevent you + from selecting them from the menu of resolutions. + + + Right click: + ============> + + Automaticaly switches to the 320x200 MCGA mode. + + + + 25 - Spare page / Copy current to spare: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Left click: + ============> + + Jumps to spare page. The current page is then considered as the new + spare page, and the spare page considered as the new current page. + + + Right click: + ============> + + Opens a menu where you can choose whether you want to copy the whole + picture (keyboard short-cut in this menu is [Return]), only the pixels, + only the palette, or only some colors. + In this last case, a second menu (stencil-like) will propose you to + tag the colors you want to copy (they are all selected by default). + Please refer to section "18 - Stencil" to know how to use this last + menu. + The last option the menu ("Copy palette and remap"), remaps the spare + page with the current palette and replicates this palette to the spare + page. This option is useful to quickly remap a picture with the palette + of another. + + + + 26 - Save picture / Autosave: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Left click: + ============> + + Displays a fileselector where the following options are available: + + - Drives: Allow you to change the current drive. You can use + + to change drives too. + + - Format: Allows you to choose the file format you want. (PAL and KCF + file formats are "palette" files). + + - Filename: Allows you to give a new name to the picture. If no + extension is given, the default (according to the format) will be + used. + + - File-list: Allows you to flick through the disk tree or to overwrite + an existing file. + + - Delete: Allows you to delete the item under the selection bar. + If the item is a directory, it must be empty to be removed. + + - Save: Saves the picture with the current filename, with the chosen + format and with the current comment (for PKM files). If the current + filename represents a directory, you'll enter it. + + - Comment (Txt): If you're using the PKM format, you can type in a + comment on your picture. + + Note: The Backspace key brings you directly to the parent directory. + Type in the 1st lettets of a filename you are looking for to + access it faster. + + + Right click: + ============> + + Save the current picture with its current filename, format and + comment. + + If the file already exists, a confirmation box will appear. + + + + 27 - Load picture / Reload: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Left click: + ============> + + This works the same way as Save. + + You'll have access in the format selector to a "*.*" filter. And of + course, you won't be able to type in any comment. + + + Right click: + ============> + + Reloads the picture. + + If you want to load a picture and that you haven't saved the last + modifications of the current picture, a confirmation box will appear. + + + + 28 - Settings: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Any click: + ==========> + + Displays a menu where you can configure some miscellaneous elements of + the program: + + - Number of UNDO pages: indicates the total number of pages that + GrafX2 will memorize. Each time you modify the picture, its current + state is memorized in one of these pages. To flick through these + pages, use the "Oops" button (Undo/Redo). + + - Font: determines whether you want to use GrafX2 with a classical + font, or another one a bit funnier. + + - Mouse sensibility: Modifies the speed of the mouse. + + - Show/Hide in file list: Defines whether some particular files or + directories must be displayed by the fileselectors or not. + + - Show/Hide picture limits: Indicates if the picture boundaries must + be displayed when you are in a resolution bigger than the picture. + + - Clear palette: Indicates if loading a file with a palette of less + than 256 colors must erase the rest of the current palette (replace + by the black color). + + - Maximize preview: maximizes the preview of the pictures so that it + is as big as possible. If you're not in the same resolution as the + picture's one, it can try to correct the aspect ratio, but if the + picture does not fill the whole screen, it can be worse. + + - Backup: when you'll save a picture over an existing file, the + program will rename this file to "*.BAK" where * is the name of the + picture without its extension. If the backup file already exists in + the directory, it will be replaced. If you save a picture with the + name of the backup file, no backup file will be created (of course!) + ;). + + - Cursor: allows you to choose whether you prefer a solid cursor or a + transparent cursor. + + - Safety colors: Brings back the 4 default colors of the menus if you + run an operation that passes the image in less than four colors in + the palette editor. + + - Adjust brush pick: This option is used when you grab a brush in Grid + (Snap) mode. Then, the right-most and down-most pixels won't be + picked up with the rest of the brush. This option has been made + because, if people grab brushes in Grid mode, that's mostly when + they want to grab sprites. + For example: if you have 16x16 sprites on your page, you'll set the + grid mode to 16x16. But the cursor will snap at points like (0,0), + (16,0), (16,16) and so on... And the problem is that, from (0,0) to + (16,16), there are 17 pixels! But if you keep the adjust-brush-pick + option on, the unwanted pixels will be ignored. + Moreover, this option adjusts the brush handle so that the brush + still fits in the grid, instead of placing the handle in the center + of the brush. + + - Separate colors: Draws a squaring around the colors of the tool-bar. + + - Auto-set resolution: sets the best resolution for the loaded image. + + - Coordinates: Choose if you want to display relative or absolute + coordinates when using tools such as circles, rectangles, etc... + for example, if you draw a circle: if coords are relative, the + radius of the circle will be displayed, while in absolute coords, + the coordinates of the cursor will be displayed. + + - Reload: loads the previously saved configuration. + + - Auto-save: means that the configuration will be automatically saved + when you'll quit the program. + + - Save: saves the configuration at once. + + All modifications will be effective just after closing the menu. + + + + 29 - Clear picture: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Left click: + ============> + + Clears the picture with the color number 0. + + + Right click: + ============> + + Clears the picture with the Back-color. + + + + 30 - Help / Statistics: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Left click: + ============> + + Displays an info window where you'll find some credits, help about the + credits, different effects, greetings, registering... + + + Right click: + ============> + + Displays a window where you'll find miscellaneous informations about + the system. + + Note: you should take care to keep more than 128 Kb in order to let the + program run in a proper way. + + + + 31 - Oops (Undo/Redo): + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Left click: + ============> Allows you to undo the last modification on the picture. + + Right click: + ============> Allows you to redo the last modification undone on the + picture. + + The maximum number of UNDO that you can perform can be defined in the + settings menu. + + Undo/Redo aren't effective after page switching, picture loading and + picture size modifications. + + + + 32 - Kill currenty page: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Any click: + ==========> + + Removes the current page from the list of "Undo" pages. This allows + you to free some memory if you need it. For instance, this will allow + you to delete the start-up page after having loaded an image. A message + will appear if you've already erased all the pages except the last one. + + Note: Another way to free some memory is to decrease the number of + "Undo" pages. Or else, if you have recentlt grabbed a very big + brush that you don't use any more, you can grab a new smaller one. + The memory allocated by the big brush will be thus freed. + + + + 33 - Quit program: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Any click: + ==========> + + Allows you to leave GrafX2. If there are unsaved modifications in the + current or spare page, a confirmation box will ask you if you really + want to quit GrafX2, if you want to save (Auto-save, no fileselector) or + if you want to stay in GrafX2. + + + + 34 - Palette menu: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Left click: + ============> + + Displays a menu where the following options are available: + + - Palette: Allows you to choose a color-block to edit. If you click + with the right mouse button, you'll choose a new Back-color. + + - RGB gauges: Allow you to modify the current selection. + + - "+" and "-": Allow you to lighten or darken the current selection. + + - Default: Restores the predifined GrafX2 palette. + + - Gray: Transforms the current selection into its gray-scaled + equivalent. + + - Negative: Transforms the current selection into its reverse video + equivalent. + + - Invert: Swaps the colors of the current selection so that the first + colors become the last ones. + + - X-Invert: Works as above but modifies the picture so that it looks + the same. + + - Swap: Swaps the current selection with another color-block. Click on + the beginning of the new color-block. + + - X-Swap: Works as above but modifies the picture so that it looks the + same. This may be useful if you want to sort your palette. + + - Copy: Copies the current selection to another color-block. Click on + the beginning of the new color-block. + + - Spread: Computes a gradation between two colors. If your selection + is only made up of one color, select the second color in the + palette. Otherwise, the two colors used will be its extremities. + + - Used: Indicates the number of colors used in the picture. + + - Zap unused: Erases the unused colors with copies of the current + selection. (The keyboard shortcut for this button is ). + + - Reduce: Allows you to reduce the palette to the number of colors you + want (and modifies the picture). + + - Undo: Allows you to recover the last modifications made on the + palette. If the last operation modified the picture, it won't + recover them: you'll have to click on Cancel to do so. + + + If you press , the program will replace, as well as + possible, some unused colors by the four default colors of the menu. + The image won't look altered because the modified colors (in the case + they were used on a few points) will be replaced by the closest colors + in the rest of the palette. + This option is really useful when you modify the palette so that there + are no colors that fit for the menu (eg: "Zap unused" while very little + colors are used in the picture; or "Reduce" with a very small number of + colors). + + If you press the key below or <,> (QWERTY), the menu will + disappear and you will be able to pick up a color from the picture + easily. Press to cancel. + + If only one color is selected (not a block), the <[> and <]> keys can + be used to select the previous or next Forecolor (Backcolor if you press + at the same time). + + Warning! If you press Undo after an action that modifies the picture + (X-Swap, X-Invert and Reduce colors), the picture won't be remapped as + it was just before this action. Only Cancel will. + + + Right click: + ============> + + Opens a menu from where you can access the following menus: + + - A menu in which you can select the colors that have not to be used + for smoothing, for the transparency mode and for remapping. + + - A menu in which you can define color series. + *** Not implemented yet *** + + + + 35 - Scroll palette left / right: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Left click: + ============> + + Scrolls the palette window in the right of the menu. + + + Right click: + ============> + + Same as above, but faster. + + + + 36 - Palette window: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Left click: + ============> + + Defines the Fore-color. + + + Right click: + ============> + + Defines the Back-color. + + + + 37 - Hide menu: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Any click: + ==========> + + Allows you to hide the menu. If you do this, take care to watch before + the key to press to show the menu back (the default key is ). + + + + +Let's talk about $$$, baby: +ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ + + Please refer to the "Register?" section in the internal help of GrafX2. + + To sum up this section, let's just say that GrafX2 is freeware. But you + can anyway send us money, graphics, or just a postcard to show us that we + made a useful program. + + You must note that the version you have is already the "complete" version + (the same as the registered version) so we won't send you any other copy of + GrafX2. But if you register for one version, we'll consider that you won't + have to register for the next ones. + + + + +Drawing tips: +ÍÍÍÍÍÍÍÍÍÍÍÍÍ + + This section deals with tips that can help you to draw some cool effects, + or just to draw faster. + Note that, in most cases, these tips only make a big part of the work and + that you'll have to touch up in zoom mode if you want to draw a picture + worthy of the name! ;) + Moreover, if you've found out nice tips by yourself, and if you want to + share them with the others, don't hesitate to tell us. + + Anti-aliasing: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + This is not an effect proposed by GrafX2 but a drawing method. It + consists in placing medium colored pixels in the angles formed by + contrasted pixels for artistically smoothing their aspect. + From our point of view, this is essential for drawing really nice + pictures. + An easy but tiresome way (the best way!) is to start by adding 1 middle + color, then antialias the new colors "recursively" while you have + intermediate colors in your palette. + + ÛÛÛÛÛÛÛÛÛÛÛÛ + ÛÛÛÛÛÛÛÛÛÛÛÛ + + ÛÛÛÛÛÛÛÛ±±±±±±±± + ±±±±±±±±ÛÛÛÛÛÛÛÛ + + ÛÛÛÛ²²²²²±±±±°°°° + °°°°±±±±²²²²²ÛÛÛÛ + + + Smear mode combined with concentric lines: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + By combining this effect and this drawing tool, you can spread an area + from a central point. + If you aren't in high resolution, it can be useful to switch on the + transparency mode too (see next section). + + þ A possible application is to draw fluffy hair. For that, you can choose + one of the pre-defined paintbrushes loking like random points. According + to the hair density you wish to obtain, you can choose a paintbrush with + more or less points. Then, place the center of the concentric lines in the + middle of the plush, and rotate the mouse around it keeping the mouse + button pressed. + With the same method, by turning around more, you can manage to give + an explosion effect to an object. + + þ You can also create easily and quickly sun rays with this method. For + that, after having drawn the primary shape of the sun in the sky, choose + a paintbrush according to the size of the rays you want (but a small one + will often be prefered), and place the center of the lines in the center + of the sun. Then trace the ray at the length you want. If you didn't take + a big paintbrush, you'll be able first to draw an aura around the sun by + rotating quickly, and then to add more important rays with precision. + + + Smear mode combined with Transparency mode: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + This two drawing modes, once combined, permit to spread parts of the + picture as fresh paint. + It is recommanded to use the transparency method which consists in + interpolating with an opacity of about 60% and the effects "Feedback" on. + + þ As in the prvious section, it can be useful for drawing hair and + especially eyelashes if you have got a good palette (i.e. a palette that + contains color gradations between every colors you'll draw on during the + operation. + For drawing eyelashes for example, after having drawn the eye and the + eyelid, trace a quite thick black line representing the base of the eye- + lashes (this is that black line you'll spread out on the eyelid). Then, in + smear+transparency mode, draw with the freehand continuous tool (with a + small paintbrush: 1, 2 or 3 pixels wide according to what you draw: a face + or a close-up on an eye) starting from the base of the eyelashes in giving + their shape. You'll see your black bar looking more and more like eye- + lashes. + + þ One can also use these effects for mixing colors on the screen like + paint. For example, if one want to draw a background made of abstract + shapes composed of color mixings, one can proceed like what follows: + - Define a palette containing a gradation between the different colors you + wish to use . + - Draw very vaguely the different colored areas with a big paintbrush (in + normal mode). + - With a smaller paintbrush, and with the spray, apply these same colors + but lighter or darker on the previously defined areas. + - Always with the same paintbrush in spray, but this time in smear mode + (not necessarily with transparency... but why not?), mix all these colors + on the screen to obtain a "multicolored pulp" vaguely conserving the + different color areas. + - At last, in Smear+Transparency mode, with a medium rounded paintbrush, + hand-draw by whirling or making waves, etc... conserving the same movement + to avoid breaks. This aims at eliminating the pixellisation made by the + spray and giving the final mixed paint aspect. + - Now, if it's ugly, it's either because my explanations are incomprehen- + sible, or because you have no talent! :p + + + Spray combined with shade mode: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + þ If you often use Shade mode, and you are tired of clicking plenty of + times on a pixel for reaching the color you want, you can define a spray + with "Size"=1, "Mono-flow"=1, and "Delay"=2 (or more, according to your + reflexes). Then you'll just have to click a few hundredth of second for + modifying a color. + + þ With a wider diameter, it permits to add granularity to a texture, + because placing lighter or darker pixels creates some ruggedness. + Different textures appropriated to this effect are: sand, rock, etc... + Of course, you'll need a color gradation corresponding to color of the + texture. + + þ You can also draw more elaborated textures - \ + using a paintbrush of the shape of a small curve \ \ + or line as these figures "try" to show. ;) ` \ + Thus, you can create textures of straw, hair, | \ + rock, marble (although hand-drawing would be + more recommanded than spray for this last one). + + + Shade mode used for replacing a color gradation by another one: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + þ If you drew something with colors belonging to a gradation and you'd + like to replace all these colors by the ones of another gradation (with + the same number of colors), proceed as follows: + - Define these 2 gradations in the same shade table in the shade menu + without separating them by a blank square. + - Set the "no saturation" shade mode. + - Define the step of the shade with the size of the two gradations (e.g.: + enter 16 if each gradation contains 16 colors). + - Now, you just have to draw on the area you want the colors to change + (with the left mouse button if you placed the gradation to replace first + in the shade table, or inversely). + + + Spheres combined with additive transparency mode: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + þ Starting from a dark background (if possible all of the same color), + trace overlapping spheres with their lighting point at their center. + You'll quickly obtain a "blob" effect. + + + How to draw drops: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + þ Here is a fast and efficient method to draw drops. + Just draw very bright pixels on the side of the drop where the main light + is, and less bright ones on the opposite side. Then draw shadows according + to the position of the light. + + Here are examples with a light ±±±±±±±±±±±± ±±±±±±±± + coming from the top-left corner. ±±±±±±±±±±±± ±±±±±±±± + (they are best viewed in 80x50 ±±±±²±°±±±±± ±±Û°±±±± + text mode) ±±±²Û°°±±±±± ±±±°²°±± + ±±±Û²°±²°±±± ±±±±°±±± + You may think that the smallest ±±±²±°²²°±±± ±±±±±±±± + drop doesn't really look like a ±±±±±²Û±°±±± ±±±±±±±± + drop, but draw it in graph mode ±±±±±°°°±±±± + and you'll see it DOES look ±±±±±±±±±±±± + like a drop. ±±±±±±±±±±±± + + If you don't trust me, then know that it's by looking at Lazur's graphs + that I found this method. And in a general way, it's always good to study + the work of the best artists to learn new techniques. + + + + +Trouble-shooting / General hints / FAQ: +ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ + + * Video card problems: + + - VESA modes are disabled by Windows NT. And it is said that it will be + the same under Windows 2000 (we haven't tried it yet, and we aren't in a + hurry!). + + - If your video card is not VESA compatible in hardware, you should try to + run a VESA driver such as Univesa or Univbe. + + - If your card is VESA compatible but doesn't display the screen correctly + in VESA resolutions, that's probably because they don't fulfil all the + criteria that we expect. The explanation is that, for a better efficiency, + we have had to neglect some specificities on some video cards. However, + we always try to improve the compatibility with any kind of the VESA + standard in each new version. + + - If you have an ATI Mach 64 video card (e.g. ATI Xpert), you should use + the m64vbe TSR supplied with the card to fully support our fancy XVESA + modes by typing "m64vbe vga". + + + * Memory problems: + + - Since the 94.666% version, we use the EOS dos-extender Copyright (c)1996 + Eclipse instead of the usual DOS4GW. The reason is that it is much + smaller in disk space (a smaller zip should please your phone bills) and + in memory (so you'll be able to run GrafX2 with more device handlers + using conventionnal memory). In addition, this dos-extender is inside + the main file, which reduces the number of files (your FAT will be happy + for that). + + The backdraw is that this dos-extender doesn't manage disk-cache. So, if + you haven't at least 4 Megabytes of RAM, you'll have to use the batch + file GFX2_MEM.BAT . + + Notice that: + - you'll have to configure this file according to the location of some + files in the tree of your hard-disk(s). + - you'll have to have the file DOS4GW.EXE somewhere in the tree of + your hard-disk(s). + - you'll need at least 16 Megabytes of free space on your current + hard-disk. + + If you ever encounter problems using GrafX2 (with at least 4 Megabytes + of RAM) that would vanish using GFX2_MEM, we would thank you to let us + know. + + EOS is a shareware dos-extender, with very interesting libraries for + music, graphism, ... for Watcom, Tasm or Masm applications. If you want + more informations on its features or its libraries, don't hesitate to + contact us in order to be put in relationship with its authors. + + + * Sound card problems: + + Q: No sound comes out from my Ultra-maxi-sound-blaster-galaxy-64-3D-pnp, + so what can I do? + A: Well... You must understand that this program is not a soundtracker nor + a music-player :) ... So if you want some music, you'll have either to + play modules with a good player that can run background (with a DOS + shell), or to switch your Hi-Fi on. + + + * Miscellaneous: + + - If you corrupted the GFX2.CFG file and that GrafX2 uses it as is, with + an incorrect behavior, don't hesitate to erase GFX2.CFG and to re-run + GFXCFG to create a new correct one. Indeed, the only tests of validity + we do on the configuration file are checking its size and its version + number. + + - It may happen that you get a version already configured by one of your + friends who could have used some "Windows 95" keys while you haven't got + such keyboard yourself. In this case, you'll have to reconfigure these + combinations using GFXCFG. + + + * Frequently asked questions: + + Q: How can I set the dimensions of the picture? + A: We thought it was obvious that you had to click in the areas where the + dimensions are written in the resolution menu (Width & Height) but many + people asked this question (?!). So, to sum up, everywhere you'll see a + value or text written in black in a sort of encrusted area, this means + that if you click on it, you'll be able to modify its value. + Moreover, if you want the picture dimensions to be the same as the ones + of the screen, you just have to right-click on the resolution in the + list. + + Q: Where can I get the latest version of GrafX2? + A: The only place where you will find the latest version for sure is our + web site: http://www-msi.ensil.unilim.fr/~maritaud/sunset + Nevertheless, it isn't impossible that GrafX2 may also be found on FTP + sites dedicated to the "demo-scene" (e.g. ftp://ftp.scene.org). + + Q: How can I make the brush become monochrome, and how can I get it back + to its normal state? + A: You can do it (assuming that you haven't modified the default keys) + with the keys + to make the brush become monochrome, and + + to get the multi-coloured brush back. + + Q: Why is the tool bar at the bottom of the screen instead of at the right + side like in Deluxe Paint (copyright Electronic Arts)? + A: Well... GrafX2 IS NOT Deluxe Paint! We know that you are used to Deluxe + Paint but you'll have to get used to GrafX2! ;) If you really can't + stand using GrafX2 like this, then you'll have to wait for GrafX3 but + we probably won't release it before year 2000! Actually, the main + reason why we put the tool bar with such a basical aspect is that it + was easier (therefore faster) to redraw the whole screen just by + telling the routine where to stop (where starts the tool bar). + Moreover, one of the best Amiga paint programs (Brilliance) has got the + tool bar at the bottom of the screen too. + + Q: Why aren't the hidden parts of the picture filled when I use the "Flood + fill" tool? + A: For the simple and "quite" good reason that it is preferable that the + user controls perfectly what he is drawing. Thus, he won't see too late + that he has fucked up a part of his picture. The other tools work the + same way. And for the less good reason that is was more convenient for + us. ;) + + Q: Is it possible to launch the program in a different resolution than + 320x200? + A: Yes, you just have to type GFX2 at the DOS prompt. Type + GFX2 /? to get the list of all the video modes. + + Q: Is it normal that some buttons don't work (e.g.: the Text button)? + A: Yes, this is because we haven't had the time to make them (I remind you + that GrafX2 is still at a Beta version state). + However, here is the list of the buttons that don't respond in GrafX2: + - Grad. rectangles + - Text + - Effects on the picture + - and the following button in the "Brush effects" menu: Distort. + + Q: Will you release a Windows version? + A: GrafX2 would lose its soul by being adapted to a windowed system or a + system that doesn't support all its video modes. And anyway, it can be + run from Windows 9x (we don't know about Windows 2000 but we don't + care). So that's OK the way it is. The only interesting thing that + Windows could bring is the clipboard. + + Q: Will you release a Linux version? + A: Although this is about the same problem as with the Windows version, + Linux lacks programs like GrafX2; so, even a limited version would be + interesting in this OS. Therefore, we would like to release a Linux + version. But we have no experience in Linux programming and our code is + completely indecipherable for others. So you'll have to wait... + + Q: How can I contact you? + A: Actually, this is not really this question since those people managed + to contact us ;) but... + + * Snail mail: + GUILLAUME DORME (Robinson) KARL MARITAUD (X-Man) + 15, rue de l'observatoire 10, rue de la Brasserie + 87000 LIMOGES (FRANCE) 87000 LIMOGES (FRANCE) + + * E-mail: + dorme@msi.unilim.fr maritaud@ensil.unilim.fr + + Do not hesitate to contact us; we love that! :) + We'll try to reply to every e-mails (if any answer is needed), and also + to certain normal letters (Yes of course, we won't ruin ourselves for + stamps just to say "Thanks for writing!" :)). diff --git a/doc/doc_fra.txt b/doc/doc_fra.txt new file mode 100644 index 00000000..12b66a5a --- /dev/null +++ b/doc/doc_fra.txt @@ -0,0 +1,2113 @@ + ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ + ³ ÜÜÜÜ ÜÜÜÜ ÜÜÜ ÜÜÜÜÜ Ü Ü ÜÜÜÜ ³ + ³ Û Û Û Û Û Û ßÜ Üß Û ³ + ³ Û ÜÜ ÛÜÜÜß ÛÜÜÜÛ ÛÜÜ ßÜß Üßß ³ + ³ Û Û Û ßÜ Û Û Û Û Û Û .00 ³ + ³ ßÜÜÜÛ Û Û Û Û Û Û Û ÛÜÜÜÜ ³ + ³ ³ + ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ + + + GRAFX 2.00 á96.5% + + - MANUEL D'UTILISATION - + + + ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ + ³ SOMMAIRE ³ + ³ ÍÍÍÍÍÍÍÍ ³ + ³ ³ + ³ - Pr‚sentation ³ + ³ - Equipement requis ³ + ³ - Fichiers de configuration ³ + ³ - Options disponibles ³ + ³ - Let's talk about $$$, baby ³ + ³ - Astuces de dessin ³ + ³ - ProblŠmes/Astuces g‚n‚rales/Questions ³ + ³ fr‚quentes (FAQ) ³ + ³ ³ + ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ + + + + +Pr‚sentation: +ÍÍÍÍÍÍÍÍÍÍÍÍÍ + + Ce programme a ‚t‚ con‡u pour pouvoir dessiner des images en 256 couleurs + dans un trŠs grand nombre de r‚solutions (en fait, il y en a pour l'instant + 60 avec quelques-unes venant du monde Amiga). + Personne ne peut contester que la majeure partie des superbes GFX de la + "ScŠne" ont ‚t‚ dessin‚s sur Amiga. Mais ces GFX sont dans des r‚solutions + diff‚rentes des modes PC habituels. Alors nous avons voulu cr‚er le premier + logiciel de dessin sur PC qui pourrait visualiser ces images, et qui + pourrait bien s–r vous permettre de dessiner les v“tres dans le mode vid‚o + que vous voulez. + + Ce logiciel a ‚t‚ pr‚sent‚ pour la premiŠre … fois la Wired'96 o— il a eu + un gros succŠs (bien plus que ce … quoi nous nous attendions), alors nous + esp‚rons que vous l'aimerez aussi. + + Il consiste en un certain nombre d'outils de dessin, d'effets et de menus. + Tous les effets fonctionnent avec n'importe quel outil de dessin. + + Sachez que ce logiciel a ‚t‚ cr‚‚ pour VOUS, utilisateurs de PC qui enviez + les possesseurs d'Amiga pour les fantastiques logiciels de dessin dont ils + disposent. Ce logiciel n'a pas la pr‚tention de remplacer les meilleurs + programmes de dessin Amiga, mais tente modestement de combler le gouffre + qu'il y a entre les logiciels PC et Amiga dans le domaine du dessin bitmap. + Si vous rˆvez d'une option trŠs utile que nous n'ayons pas encore pr‚vue, + n'h‚sitez pas … nous en faire part. Si nous la jugeons utile ‚galement, et + surtout s'il est possible de l'inclure dans le programme :), nous l'y + mettrons dŠs que possible. + + + + +Equipement requis: +ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ + + Pour pouvoir utiliser GrafX2, vous aurez besoin de: + + - un PC (386DX ou sup‚rieur), + - DOS 5 ou sup‚rieur (‡a marche peut-ˆtre avec le DOS 3.1 mais on ne se + rappelle pas quelles sont les fonctions de l'INT 21h que nous utilisons), + - une carte vid‚o compatible VGA (une carte VLB ou PCI est fortement recom- + mand‚e), + - une souris … 2 boutons (et son gestionnaire), + - 3 Megaoctets de RAM (‡a peut marcher avec moins si vous utilisez le cache + disque de DOS4GW ou bien celui de Windows :/). + + Mais pour une utilisation plus efficace, vous aurez besoin de: + + - au moins un 486DXý66 (pour augmenter la vitesse globale), + - au moins 8 Mo de RAM pour capturer de trŠs grosses brosses et pour uti- + liser le multi-undo, + - une carte vid‚o compatible VESA 1.2 (pour acc‚der … plus de modes vid‚o). + + + + +Fichiers de configuration: +ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ + + GrafX2 n‚cessite deux fichiers pour stocker sa configuration: 'GFX2.INI' + et 'GFX2.CFG'. + + GFX2.INI: + ÄÄÄÄÄÄÄÄÄ + + Ce fichier contient les paramŠtres d‚finis dans le menu de configuration + (settings) ainsi que quelques autres. Vous pouvez ‚diter ce fichier … + l'aide d'un ‚diteur de texte ASCII standard. + Lorsque vous cliquez sur Reload (recharger) dans le menu des "settings", + toutes les donn‚es contenues dans ce fichier sont restaur‚es. Lorsque vous + cliquez sur Save (sauvegarder) ou bien lorsque vous quittez le programme + alors que l'option Auto-save (sauvegarde automatique) est enclench‚e, tous + les paramŠtres actuels sont ‚crits (mis … jour) dans ce fichier. + + Si vous avez corrompu ce fichier et que vous n'arrivez pas … corriger le + problŠme, alors effacez-le et lancez GFXCFG.EXE. I cr‚era automatiquement + un fichier d'initialisation par d‚faut lorsque celui-ci est absent. + + + GFX2.CFG: + ÄÄÄÄÄÄÄÄÄ + + Ce fichier contient la configuration du clavier ainsi que l'‚tat des + variables du programme suivantes: + þ modes vid‚o + þ tables de "shade" + þ stencil (pochoir) + þ masque + þ d‚grad‚s + + Toutes ces variables sont enregistr‚es lorsqu'on clique sur le bouton + Save (sauvegarder) dans le menu de configuration ou bien lorsqu'on sort du + programme avec l'option Auto-save (sauvegarde automatique) enclench‚e. + Cependant, lorsque vous cliquez sur Reload (recharger) dans le menu des + "settings", seul l'‚tat de chaque mode vid‚o est restaur‚. + + Note: le fichier GFX2_FRA.CFG est un fichier de configuration par d‚faut + pour les claviers AZERTY. Si vous utilisez un clavier AZERTY, vous devriez + remplacer le fichier GFX2.CFG par GFX2_FRA.CFG. + + Important: … partir de la version 2.00 á95.5%, les fichiers .CFG auront + une compatibilit‚ ascendante. Ceci signifie que vous pourrez r‚cup‚rer la + majeure partie de leur contenu d'une version … l'autre en copiant votre + ancien fichier .CFG dans le r‚pertoire de votre nouvelle version de GrafX2 + et en lan‡ant GFXCFG.EXE. En effet, ce programme convertira votre ancien + fichier afin qu'il soit utilisable par la nouvelle version de GrafX2. + Mais, copier un fichier .CFG d'une version ant‚rieure … la version 95.5% + ne marchera pas. De plus, (je ne vois pas pourquoi vous le feriez mais...) + copier un fichier .CFG r‚cent dans une version plus ancienne ne devrait + pas fonctionner non plus. + + + Note: Nous vous recommandons de ne pas modifier les touches affect‚es … + l'‚mulation de la souris dans le programme GFXCFG car les valeurs que vous + donneriez pourraient interf‚rer avec les raccourcis utilis‚s dans les menus. + + + + +Options disponibles: +ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ + + Les diff‚rentes options disponibles dans GrafX2 seront list‚es et + d‚taill‚es ci-dessous. Elles seront d‚crites comme suit: + + ÉÍÍÍÍËÍÍÍÍËÍúúúÍ» ÉÍÍÍÍ» + º 1 º 3 º º Les boutons triangulaires º1 / º + º º º º seront d‚taill‚s comme ‡a: º / 2º + ÌÍÍÍÍÎÍÍÍÍÎÍúúú͹ ÈÍÍÍͼ + º 2 º 4 º º + º º º º + ÈÍÍÍÍÊÍÍÍÍÊÍúúúͼ + + + 1 - Pinceaux + 2 - Ajuster l'image / Effets sur l'image + 3 - Bouton Dessin … la main + 4 - Courbes de B‚zier (Splines) + 5 - Lignes + 6 - A‚rographe (Spray) + 7 - Remplissage (Flood-fill) / Remplacement de couleur + 8 - Polyg“nes / Polyformes + 9 - Polyg“nes/Polyformes plein(e)s + 10 - Rectangles vides + 11 - Rectangles pleins + 12 - Cercles/Ellipses vides + 13 - Cercles/Ellipses plein(e)s + 14 - Rectangles avec d‚grad‚ + 15 - Menu de d‚grad‚ + 16 - SphŠres / Ellipses avec d‚grad‚ + 17 - Prise de brosse / Restauration + 18 - Prise de brosse par polyforme (lasso) / Restauration + 19 - Effets sur la brosse + 20 - Modes de dessin + 21 - Texte + 22 - Mode Loupe / Menu + 23 - Pipette / Inverser les couleurs + 24 - Taille de l'‚cran / R‚solution de s‚curit‚ + 25 - Page de brouillon / Copier vers le brouillon + 26 - Sauver l'image / Sauvegarde automatique + 27 - Charger une image / Recharger + 28 - ParamŠtres g‚n‚raux (Settings) + 29 - Effacer l'image + 30 - Aide / Statistiques + 31 - Oops (D‚faire/Refaire) + 32 - D‚truire la page courante + 33 - Quitter le programme + 34 - Menu de palette + 35 - D‚placer la palette … gauche / droite + 36 - Fenˆtre de palette + 37 - Cacher le menu + + + + Quand vous utiliserez n'importe quel outil de dessin, un clic gauche + dessinera avec la couleur principale, tandis qu'un clic droit dessinera avec + la couleur de fond. + + Lorsque des boŒtes de dialogue apparaŒtront … l'‚cran, Cancel (ou No) sera + toujours ‚mul‚ par la touche , et OK (ou Yes) par . + + Dans les diff‚rents menus, les titres sur les boutons contenant une lettre + soulign‚e peuvent ˆtre ‚mul‚s en tapant cette lettre au clavier. + + Dans quelques menus, vous pouvez s‚lectionner un bloc de couleurs dans la + palette. Cela signifie que vous pouvez cliquer sur une couleur et d‚placer + la souris vers une autre en maintenant le bouton appuy‚ pour s‚lectionner + un bloc de couleurs. + + Vous pouvez d‚placer une fenˆtre pour rendre visible l'image qui est + derriŠre en cliquant en haut de la fenˆtre (sur le titre) et en maintenant + le bouton de la souris enfonc‚ tout en la d‚pla‡ant. + + + + 1 - Pinceaux: + ÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Clic gauche: + ============> + + Affiche un menu ou vous pouvez choisir la forme de votre pinceau. + + Les pinceaux sont rang‚s par famille. Vous pouvez voir quelques + pinceaux de la mˆme famille mais avec des tailles diff‚rentes. Il y a au + moins un pinceau de chaque famille affich‚ dans ce menu. + Voici la liste de toutes les diff‚rentes familles de pinceaux: + + ÛÛÛÛÛÛÛ ÛÛÛ Û Û Û Û Û Û Û Û + ÛÛÛÛÛÛÛ ÛÛÛÛÛ Û Û Û Û Û Û ÛÛÛ Û Û + ÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛ Û Û Û Û Û Û Û Û ÛÛÛÛÛ Û + ÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛ Û Û Û Û Û Û ÛÛÛÛÛÛÛ + ÛÛÛÛÛÛÛ ÛÛÛÛÛÛÛ Û Û Û Û Û Û Û Û ÛÛÛÛÛ Û Û Û + ÛÛÛÛÛÛÛ ÛÛÛÛÛ Û Û Û Û Û Û ÛÛÛ + ÛÛÛÛÛÛÛ ÛÛÛ Û Û Û Û Û Û Û Û Û + + Carr‚ Disque Carr‚ Disque Losange Al‚atoire + tram‚ tram‚ + _______________________________________________________________ + + Û Û Û Û Û Û + Û Û Û Û Û Û + Û Û Û Û Û Û + ÛÛÛÛÛÛÛ Û Û Û Û ÛÛÛÛÛÛÛ + Û Û Û Û Û Û + Û Û Û Û Û Û + Û Û Û Û Û Û + + Barre Barre Slash Anti- Croix X Croix + + horiz. verticale slash + + Les 3 derniers pinceaux dans le menu appartiennent … la famille + "divers" et leur taille ne peut pas ˆtre modifi‚e. + + + Clic droit: + ============> + + Transforme votre brosse actuelle en pinceau. En fait, c'est une + "monochromisation" de la brosse. C'est-…-dire que toutes les couleurs de + la brosse qui ne sont pas la couleur de fond passeront de la mˆme + couleur que la couleur principale. Mais cette option ne modifie pas la + brosse: vous n'avez qu'… cliquer avec le bouton droit sur une des + boutons "Get brush" pour r‚cup‚rer la brosse en couleur. + + + Note: Lorsque vous appuyez (pas dans le menu) sur la touche + (valeur par d‚faut), le pinceau actuel devient le plus petit membre de la + famille "Disque": c'est-…-dire 1 pixel. + + + + 2 - Ajuster l'image / Effets sur l'image: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Clic gauche: + ============> + + Vous permet de d‚placer ("scroller") l'image pour recentrer votre + graphe par exemple. + Toute partie du dessin qui sort d'un cot‚ de l'image revient par le + c“t‚ oppos‚. + + Ceci est consid‚r‚ comme ‚tant de la famille des outils de dessin. + + + Clic droit: + ============> + + *** Pas encore impl‚ment‚ *** + + + + 3 - Bouton Dessin … la main: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Clic gauche: + ============> + + Selectionne le mode dessin … la main actuel comme outil de dessin + actif. Il y a 3 modes de dessin … la main: + + - Dessin continu: Lorsque vous d‚placez le curseur de la souris, le + pinceau est r‚guliŠrement appliqu‚ sur l'image, reliant les + diff‚rents points de l'‚cran sur lesquels vous ˆtes pass‚s. Cet + outil de dessin autorise le changement de la couleur principale et + de la couleur de fond durant son utilisation. + + - Dessin discontinu: Lorsque vous d‚placez la souris, le pinceau est + appliqu‚ … la position actuelle de la souris … chaque VBL (balayage + vertical de l'‚cran). Cet outil de dessin autorise le changement de + la couleur principale et de la couleur de fond durant son + utilisation. + + - Dessin point par point: Le pinceau est simplement appliqu‚ … la + position o— vous avez cliqu‚ en premier. + + + Clic droit: + ============> + + Permute les diff‚rents modes de dessin … la main, et active en mˆme + temps l'outil de dessin … la main. + + + + 4 - Courbes de B‚zier (Splines): + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Clic gauche: + ============> + + Selectionne le mode de courbe courant comme outil de dessin actif. + Il y a deux modes de courbes diff‚rents: + + - Courbes … 4 points de contr“le: D‚finissez la ligne de base comme + une ligne classique; puis d‚placez, avec le bouton gauche de la + souris, les points de contr“le internes afin de choisir la forme de + la courbe. Quand la courbe a la forme que vous d‚sirez, cliquez sur + le bouton droit de la souris pour la tracer d‚finitivement. + + - Courbes … 3 points de contr“le: Fonctionne comme d‚crit ci-dessus, + mais vous n'aurez qu'un seul point de contr“le interne … placer. + De plus, la courbe sera trac‚e juste aprŠs avoir plac‚ ce point. + + + Clic droit: + ============> + + Permute les diff‚rents modes de courbes, et active en mˆme temps + l'outil de dessin de courbes. + + + + 5 - Lignes: + ÄÄÄÄÄÄÄÄÄÄÄ + + Clic gauche: + ============> + + Selectionne le mode de dessin de lignes actuel comme outil de dessin + actif. Il y a 2 modes de dessin de lignes: + + - Lignes classiques: En cliquant une premiŠre fois sur l'image, vous + d‚finirez de d‚but de la ligne. Maintenez le bouton appuy‚ pour + placer la fin de la ligne; et relƒchez le bouton pour tracer la + ligne. + + - Lignes reli‚es: Fonctionne de la mˆme maniŠre que pr‚c‚demment, mais + la fin d'une ligne deviendra automatiquement le d‚but de la + suivante. Lorsque vous voudrez arrˆter l'enchƒinement de lignes, + utilisez le bouton oppos‚ de la souris. "Le bouton oppos‚" signifie + que si vous avez commenc‚ … tracer les lignes avec le bouton gauche + (couleur principale), il faudra interrompre le traitement avec le + bouton de droite; et r‚ciproquement. + + - Lignes concentriques: lors du premier clic sur l'image, vous + d‚finirez le centre des lignes. En r‚alit‚, le centre est d‚fini + par la position de la souris lorsque vous relƒchez son bouton. + Ensuite vous pouvez dessiner des lignes partant du centre vers la + position actuelle de la souris en cliquant. Pour arrˆter de dessiner + des lignes concentriques, utilisez le bouton oppos‚ de la souris. + Cet outil de dessin autorise le changement de la couleur principale + et de la couleur de fond durant son utilisation. + + + Clic droit: + ============> + + Permute les diff‚rents modes de dessin de lignes, et active en mˆme + temps l'outil de dessin de lignes. + + + + 6 - A‚rographe (Spray): + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Clic gauche: + ============> + + Selectionne l'a‚rographe comme outil de dessin actif. Cet outil de + dessin autorise le changement de la couleur principale et de la + couleur de fond durant son utilisation. + + + Clic droit: + ============> + + Affiche le menu de configuration de l'a‚rographe: + + - Size (Taille): D‚finit le diamŠtre du cercle dans lequel l'a‚ro- + graphe fonctionnera. + + - Delay (D‚lai): D‚finit le nombre de VBL (balayage vertical de + l'‚cran) qui seront attendus entre deux jets (cycles) de l'a‚ro- + graphe. + + - Mode: D‚finit si vous d‚sirez utiliser un a‚rographe monochrome ou + multicolore. + + - Mono-flow (flux en monochrome): D‚finit le nombre de fois que le + pinceau sera al‚atoirement appliqu‚ dans le cercle de l'a‚rographe + … chaque jet (cycle). + + - Palette: Un clic gauche sur une couleur de la palette vous permettra + de voir en quelle quantit‚ elle sera utilis‚e dans le flux multi- + colore, et de la modifier en utilisant la jauge sur la droite. Si le + flux de cette couleur ‚tait ‚gal … 0, il sera mis … la valeur + "Init". Un clic droit sur une couleur fera automatiquement passer sa + quantit‚ … 0, ce qui revient … la supprimer du flux multicolore. + + - Clear (Effacer): Supprime toutes les couleurs du flux multicolore. + En fait, cela place une valeur nulle dans l'utilisation de chacune + des couleurs. + + - Init: Ceci vous permet de d‚finir une valeur qui sera automatique- + ment appliqu‚e aux couleurs ayant un flux nul lorsque vous cliquerez + dans la palette … l'aide du bouton gauche. Cette option permet de + d‚finir plus rapidement un ensemble de couleurs. + + - +1,-1,x2,ö2: Modifie la valeur de toutes les couleurs selectionn‚es + (et seulement celles-ci). + + + + 7 - Remplissage (Flood-fill) / Remplacement de couleur: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Clic gauche: + ============> + + S‚lectionne le remplisseur comme outil de dessin actif. + Le remplisseur, comme n'importe quel outil de dessin, sera affect‚ par + tous les effets. + + Remarquez que seule la partie visible de l'image sera remplie (de mˆme + que pour tous les autres outils de dessin, le remplissage n'affecte que + la partie visible du dessin; ceci ‚vitant des effets ind‚sirables et non + contr“l‚s par l'utilisateur). + + + Clic droit: + ============> + + S‚lectionne le remplacement de couleur comme outil de dessin. + + Chaque rŠgle a ses exceptions et la rŠgle ‚nonc‚e ci-dessus n'y d‚roge + pas. Cet outil est en effet le seul … n'ˆtre affect‚ par aucun effet (… + l'exception du Stencil) et … pouvoir ‚galement modifier les parties non + visibles de l'image. + Le but de cet outil ‚tant de remplacer toutes les occurences d'une + couleur dans l'image par une autre, il aurait ‚t‚ dommage de se limiter + … modifier uniquement la partie visible de l'image. + + + + 8 - Polyg“nes / Polyformes: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Clic gauche: + ============> + + S‚lectionne les polyg“nes comme outil de dessin actif. + + Ceci fonctionne exactement comme les lignes reli‚es en reliant les + extrˆmit‚s quand vous avez termin‚. + + + Clic droit: + ============> + + S‚lectionne les polyformes comme outil de dessin actif. + + Cet outil fonctionne comme une combinaison du dessin … la main et des + lignes reli‚es. + Si vous maintenez le bouton de la souris press‚, vous dessinerez comme + si vous ‚tiez en mode de dessin … la main. Et, si vous relƒchez le + bouton de la souris, cela fonctionnera comme les lignes reli‚es. + + Cliquez sur le bouton de la souris oppos‚ (i.e.: cliquez … droite si + vous avez commenc‚ … dessiner avec le bouton gauche de la souris, et + vice versa) pour terminer l'op‚ration. Les deux extr‚mit‚s seront + reli‚es automatiquement. + + + + 9 - Polygones/Polyformes plein(e)s: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Fonctionnent exactement de la mˆme maniŠre que les polyg“nes et poly- + formes ci-dessus, mais remplissent l'int‚rieur des formes ainsi d‚finies. + + + + 10 - Rectangles vides: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + N'importe quel clic: + ====================> + + Selectionne les rectangles vides comme outil de dessin actif. + + Placez le coin d'un rectangle. Maintenez le clic pour d‚placer le coin + oppos‚ et relachez le bouton de la souris pour le placer d‚finitivement. + + + + 11 - Rectangles pleins: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + N'importe quel clic: + ====================> + + S‚lectionne les rectangles pleins comme outil de dessin actif. + + Fonctionne comme un rectangle vide. + + + + 12 - Cercles/Ellipses vides: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Clic gauche: + ============> + + S‚lectionne les cercles vides comme outil de dessin actif. + + Positionnez le centre du cercle et maintenez le bouton de la souris + pour choisir son rayon. + + + Clic droit: + ============> + + S‚lectionne les ellipses vides comme outil de dessin actif. + + Positionnez le centre du cercle et maintenez le bouton de la souris + pour choisir ses dimensions. + + + + 13 - Cercles/Ellipses plein(e)s: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Fonctionne comme les cercles et les ellipses vides. + + + + 14 - Rectangles avec d‚grad‚: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + *** Pas encore impl‚ment‚ *** + + + + 15 - Menu de d‚grad‚: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + N'importe quel clic: + ====================> + + Ouvre une fenˆtre dans laquelle vous pouvez d‚finir la fa‡on dont les + d‚grad‚s sont trait‚s. + Les diff‚rentes sections de ce menu sont: + + - Direction (flŠche): Change le sens du d‚grad‚. + + - M‚thode de transition: Permute parmi les trois m‚thodes suivantes: + - Pas de transition + - Transition de base + - Transition am‚lior‚e + + - Mix (M‚lange): M‚lange le d‚grad‚ avec un facteur al‚atoire plus ou + moins important. + + - Palette: Selectionnez un intervale de couleurs pour constituer un + d‚grad‚. + + - Ascenseur d'index: D‚finit le d‚grad‚ courant parmi un ensemble de + 16 m‚moris‚s. + + + + 16 - SphŠres / Ellipses avec d‚grad‚: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Clic gauche: + ============> + + S‚lectionne les sphŠres comme outil de dessin actif. + + Positionnez le centre de la sphŠre et maintenez le bouton de la souris + pour choisir son rayon. Ensuite placez la source de l'‚clairage. + + + Clic droit: + ============> + + S‚lectionne les ellipses avec d‚grad‚ comme outil de dessin actif. + + *** La version actuelle de cet outil n'est pas la bonne, donc *** + *** nous expliquerons son fonctionnement quand elle sera achev‚e. *** + + + Si vous tracez une sphŠre ou une ellipse d‚grad‚e avec le bouton droit + de la souris, le r‚sultat sera la mˆme figure remplie avec la couleur de + fond. + + + + 17 - Prise de brosse / Restauration: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Clic gauche: + ============> + + D‚marre une prise de brosse. + + Cliquez sur un coin du rectangle contenant la brosse puis maintenez le + clic pour d‚finir le coin oppos‚ du rectangle. Relachez le bouton de la + souris pour prendre la brosse. Effectuer cette op‚ration avec le bouton + droit de la souris effacera la zone dans laquelle la brosse a ‚t‚ prise + avec la couleur de fond. + + + Clic droit: + ============> + + Restaure l'ancienne brosse. + + + + 18 - Prise de brosse par polyforme / Restauration: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Clic gauche: + ============> + + Capture une brosse de forme quelconque en d‚finissant un "polyforme" + (veuillez vous r‚ferer … la section 8 pour plus d'explications). + + + Clic droit: + ============> + + Restaure l'ancienne brosse (pareil que ci-dessus). + + + + 19 - Effets sur la brosse: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + N'importe quel clic: + ====================> + + Affiche un menu dans lequel les options suivantes sont disponibles: + + - X: Inversion selon X (sym‚trie par rapport … (Oy)). + + - Y: Inversion selon Y (sym‚trie par rapport … (Ox)). + + - Rotate by 90ø: Effectue sur la brosse une rotation de 90 degr‚s. + + - Rotate by 180ø: Effectue sur la brosse une rotation de 180 degr‚s. + + - Rotate by any angle (Rotation de n'importe quel angle): Engendre une + op‚ration interactive qui permet de faire tourner la brosse. Pour + cela, commencez par placer le centre de rotation avec le bouton + gauche de la souris (si, … ce moment-l…, vous appuyez sur le bouton + droit, l'op‚ration sera annul‚e). Ensuite vous pouvez d‚finir + l'angle de rotation autant de fois que vous le voulez en d‚pla‡ant + la souris et en cliquant avec le bouton gauche. Puis vous validerez + avec le bouton droit lorsque vous serez satisfait. + Pendant ce temps, vous pouvez appuyer sur les 8 chiffres ext‚rieurs + du pav‚ num‚rique pour d‚finir des angles multiples de 45ø: + 135ø 90ø 45ø + \ | / + '7' '8' '9' + 180ø -'4' '6'- 0ø + '1' '2' '3' + / | \ + 225ø 270ø 315ø + + - Stretch (Etirement): Engendre une op‚ration interactive qui permet + d'‚tirer la brosse. Pour cela, commencez par placer le coin haut- + gauche de la brosse avec le bouton gauche de la souris (si, … ce + moment-l…, vous appuyez sur le bouton droit, l'op‚ration sera + annul‚e). Ensuite vous pouvez placer le coin oppos‚ autant de fois + que vous le voulez, puis vous validerez avec le bouton droit lorsque + vous serez satisfait. Si vous placez ce point … des coordonn‚es + inf‚rieures … celles du point de d‚part, la brosse sera invers‚e. + Pendant ce temps, vous pouvez appuyer sur les touches suivantes dont + voici les effets: + 'D' : double la brosse en X et en Y + 'H' : r‚duit la brosse de moiti‚ en X et en Y + 'X' : double la brosse en X + 'Shift+X': r‚duit la brosse de moiti‚ en X + 'Y' : double la brosse en Y + 'Shift+Y': r‚duit la brosse de moiti‚ en Y + 'N' : restaure la taille normale de la brosse (peut se + r‚v‚ler utile car c'est le seul moyen d'annuler) + + - Distort (D‚formation): + *** Pas encore impl‚ment‚ *** + + - Outline (Contours): + Cette option permet de dessiner les contours de la brosse avec la + couleur principale (Fore-color). + + - Nibble (Grignotter): + Cette option "grignotte" les contours de la brosse. C'est en quelque + sorte l'effet inverse de l'option Outline. + + - Recolorize: Modifie la brosse de fa‡on … ce qu'elle ressemble … + l'aspect qu'elle aurait dans la page de brouillon, en utilisant la + palette courante. + + - Get brush colors: TransfŠre les couleurs de la page de brouillon + utilis‚es par la brosse, dans la palette courante. + + - Brush handle: Vous permet de choisir o— placer la prise (poign‚e) de + la brosse. + + - Load / Save: charger ou sauvegarder une brosse. + + + + 20 - Modes de dessin: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Ce bouton ouvre un menu dans lequel vous pouvez activer/d‚sactiver les + diff‚rents modes de dessin. (Les touches [F1]-[F9] correspondent aux 9 + boutons) + + Dans ce menu, le bouton "All off" (tout ‚teint) d‚sactive tous les modes + de dessin. La touche [Suppr] est le raccourci clavier pour ce bouton. + + Le bouton "Feedback" sert uniquement pour les modes "Shade", "Quick- + shade", "Smooth" et "Transparence". Lorsqu'il est activ‚, il indique que + l'‚tat _actuel_ de l'image doit ˆtre pris en compte pour l'effet au lieu + de l'‚tat dans lequel ‚tait l'image lorsqu'on a click‚ pour commencer … + tracer. Le mieux, comme bien souvent, est que vous testiez par vous-mˆme + avec et sans Feedback pour constater la diff‚rence. + + Les autres boutons sont les suivants: + + + * Mode Shade (Ombrage) / Menu: + ------------------------------ + + Cet effet consiste … incr‚menter ou d‚cr‚menter le num‚ro de la couleur + dans un ensemble d‚fini par l'utilisateur. Cela montre sa vraie + dimension lorsque l'ensemble de couleurs est un d‚grad‚. Alors, vous + pouvez travailler sur une partie de l'image o— les couleurs appartiennent + … ce mˆme ensemble sans avoir … changer la couleur de votre pinceau + syst‚matiquement. + Vous pouvez choisir d'incr‚menter ou de d‚cr‚menter la couleur en + cliquant sur le bouton gauche ou droit de la souris lorsque vous dessinez. + Si vous cliquez sur une couleur qui n'appartient pas … l'ensemble de + couleurs, elle restera inchang‚e. + + Clic gauche: + ============> + + Active/D‚sactive le mode Shade. + + + Clic droit: + ============> + + Ouvre un menu dans lequel vous pouvez d‚finir une table de shades + parmi les 8 m‚moris‚es par le programme. + Les diff‚rentes sections de ce menu sont: + + - Palette: Vous pouvez d‚finir dans celle-ci les blocs de couleurs … + ins‚rer dans la table des shades. + + - Scroller: Sert … changer de table de shades. + + - Zone de d‚finition de table de Shades: Les 512 cases fournies + sont largement suffisantes pour d‚finir les diff‚rents shades puisque + chacune des 256 couleurs de la palette ne peut ˆtre pr‚sente qu'une + seule fois dans chaque table. + + - Une fenˆtre (celle situ‚e en haut … droite) qui vous permet de + visualiser les diff‚rents shades d‚finis dans la table actuelle. + + - Copy (copier): Copie le contenu actuel de la table dans un buffer. + (Lors de l'ouverture du menu, la table courante est automatiquement + rang‚e dans le buffer). + + - Paste (coller): Copie le contenu du buffer ci-dessus dans la table + actuelle. + + - Clear (tout effacer): Permet de r‚initialiser la table de "shades". + + - Insert (ins‚rer): Sert … ins‚rer le bloc s‚lectionn‚ dans la palette + … la position du curseur dans la table des shades. + SI vous clickez avec le bouton gauche de la souris sur ce bouton ALORS + SI un bloc de plus d'une case est s‚lectionn‚ dans la table ALORS + Il est effac‚ puis on insŠre le bloc d‚fini dans la palette. + SINON + On insŠre le bloc d‚fini dans la palette juste avant la case + s‚lectionn‚e. + FIN SI + SINON + Le bloc d‚fini dans la palette est ins‚r‚ en ‚crasant les couleurs + suivant le d‚but du bloc s‚lectionn‚ dans la table. + FIN SI + + - Delete (effacer): Supprime le bloc s‚lectionn‚ dans la table. + + - Blank (vide): Suit l'algorithme suivant: + SI vous clickez avec le bouton gauche de la souris sur ce bouton ALORS + On remplace le bloc s‚lectionn‚ dans la table par des cases vides + SINON + SI un bloc de plus d'une case est s‚lectionn‚ dans la table ALORS + Ins‚rer une case vide … gauche et une case vide … droite du bloc + (ceci sert … isoler un shade rapidement) + SINON + Ins‚rer une case vide … gauche de la case s‚lectionn‚e + FIN SI + FIN SI + + - Invert (inverser): Inverse l'ordre du bloc s‚lectionn‚ dans la + table. + + - Swap (‚changer): Permet de d‚placer un bloc (cela l'‚change avec ce + qu'il y a l… ou veut le d‚placer). + + - Undo (d‚faire): Permet d'annuler la derniŠre modification de la + table. + + - Les 2 num‚ros qui s'affichent … droite de ces boutons sont: + (en haut)- le num‚ro de la couleur s‚lectionn‚e dans la palette si + une seule est s‚lectionn‚e. + (en bas) - le num‚ro de la couleur contenue dans la case de la table + de shades si cette case est la seule s‚lectionn‚e. + + - Le bouton de "mode" affiche 3 ‚tats diff‚rents: + "Normal": + OpŠre … l'int‚rieur de l'intervalle de couleurs et sature … ses + bordures. + "Loop" (Boucle): + Boucle lorsque les bornes de l'intervalle sont d‚pass‚es. + "No saturation": + Ne sature pas aux bornes de l'intervalle si elles sont d‚pass‚es. + Si le Pas (voir plus bas) est de 1, cette option fait exactement la + mˆme chose que le mode Normal. + + - Set/Disable (placer un masque): Si vous voulez d‚finir plusieurs + shades dans une mˆme table mais que vous souhaiteriez qu'ils ne soient + pas tous effectifs en mˆme temps, vous pouvez en masquer certains ce + qui aura pour effet qu'ils seront interpr‚t‚s comme des cases vides. + Pour ce faire, s‚lectionnez un bloc dans la table des shades et + clickez sur "Set". Le bloc sera alors soulign‚ d'un trait blanc; ce + qui signifie qu'il est d‚sactiv‚. + + - Clear/Enable (enlever le masque): fait exactement l'inverse du + bouton pr‚c‚dent. + + - Step (pas): D‚finit un pas d'incr‚mentation du shade. Plus le pas + est grand et plus vous parcourerez rapidement les couleurs du shade. + Par exemple: si le pas est de 2 et que vous avez d‚fini un shade avec + les couleurs 0,1,4,5,9 et que vous clickez sur un pixel de couleur 1, + il prendra alors la couleur 5 qui est 2 cases plus loin dans la table. + + (Nous sommes d‚sol‚s pour ces consid‚rations techniques assez + lointaines d'une vision p–rement artistique; mais sachez que cet effet + est vraiment trŠs utile et qu'il est pr‚f‚rable que vous compreniez son + fonctionnement si vous voulez en profiter pleinement). + + + + * Mode Quick-shade (Ombrage) / Menu: + ------------------------------------ + + Ce mode de dessin a … peu prŠs le mˆme effet que le mode Shade si ce + n'est qu'il est beaucoup plus rapide … configurer mais un peu moins + puissant. + Lorsque vous dessinez sur une couleur de l'image qui se situe entre la + couleur principale (fore-color) et la couleur de fond (back-color) dans la + palette, la couleur tend … se rapprocher de la fore-color (suivant le pas + d‚fini) si l'on dessine avec le bouton gauche de la souris, ou bien tend + vers la back-color si l'on dessine avec le bouton droit. + + Clic gauche: + ============> + + Active/D‚sactive le mode Quick-shade. + + + Clic droit: + ============> + + Ouvre un menu avec quelques paramŠtres qui repr‚sentent exactement la + mˆme chose que dans le menu du mode Shade. Ces paramŠtres sont le pas et + le mode de bouclage/saturation (normal, loop, no saturation). + + + + * Mode Stencil (Pochoir) / Menu: + -------------------------------- + + C'est utilis‚ pour empˆcher la modification de certaines couleurs si + vous essayez de dessiner sur elles. L'application principale du stencil + est lorsque vous voulez remplacer une ou plusieurs couleurs par une autre. + + Clic gauche: + ============> + + Active/D‚sactive le mode Stencil. + + Clic droit: + ============> + + Ouvre un menu dans lequel vous pouvez d‚finir un stencil. + Les diff‚rentes sections de ce menu sont: + + - Clear (Effacer): D‚protŠge toutes les couleurs. + + - Invert (Inverser): Les couleurs qui ‚taient prot‚g‚es ne le sont + plus et vice versa. + + - Palette: Selectionnez les couleurs qui doivent ˆtre prot‚g‚es avec + le bouton gauche de la souris ou d‚prot‚gez-les avec le bouton + droit. + + + + * Mode Masque / Menu: + --------------------- + + Cet effet aurait pu ˆtre appel‚ "True stencil" (vrai pochoir) car il + protŠge des parties de l'image au lieu de prot‚ger des couleurs. Les + couleurs que vous s‚lectionnez repr‚sentent les pixels dans la page de + brouillon, correspondant aux pixels dans la page actuelle, que vous ne + voulez pas modifier. + Par exemple, dessinez une simple figure blanche sur un fond noir dans la + page de brouillon. Puis, s‚lectionnez la couleur noire dans le menu du + mode Masque. Lorsque vous dessinerez dans la page actuelle, seulement les + pixels correspondant aux pixels blancs (non-noirs) dans la page de + brouillon seront modifi‚s. + + Clic gauche: + ============> + + Active/D‚sactive le mode Masque. + + Clic droit: + ============> + + Ouvre un menu dans lequel vous pouvez d‚finir les couleurs du masque. + Ce menu fonctionne de la mˆme fa‡on que celui du Stencil. Veuillez + donc vous r‚f‚rer au paragraphe consacr‚ au Stencil pour savoir comment + utiliser ce menu. + + + + * Mode Grille / Menu: + --------------------- + + C'est utile pour accrocher le curseur aux points de croisement d'une + grille. C'est g‚n‚ralement utilis‚ pour dessiner une grille avant de + dessiner des sprites de la mˆme taille tels que des "tiles" ou une fonte, + ou bien pour dessiner des figures ou prendre des brosses avec des + dimensions multiples du pas de la grille.'); + + Clic gauche: + ============> + + Active/D‚sactive le mode Grille. + + + Clic droit: + ============> + + Ouvre un menu dans lequel vous pouvez d‚finir les paramŠtres de la + grille. Ces paramŠtres sont: + + - X,Y: Pas de la grille. + + - dX,dY: D‚calages de la grille. + + + + * Mode Trame (Passoire) / Menu: + ------------------------------- + + Cet effect permet, en d‚finissant un motif, de dessiner seulement sur + des points particuliers de l'image. + Si vous ˆtes un dessinateur Manga, vous pourriez trouver ‡a utile pour + dessiner des ombres avec diff‚rentes trames ou bien des transitions de + couleurs. + + Clic gauche: + ============> + + Active/D‚sactive le mode Trame. + + + Clic droit: + ============> + + Ouvre un menu dans lequel vous pouvez d‚finir les paramŠtres des + trames. Ce menu est constitu‚ de: + + - Zone de dessin 16x16: Vous pouvez d‚finir une trame dedans (clic + gauche => pixel blanc / clic droit => pixel noir). + Tous les pixel blancs indiquent que lorsque vous dessinerez, des + pixels seront appliqu‚es sur l'image aux positions correspondantes + tandis que des pixels noirs n'entrŒneront aucun affichage: les + points blancs correspondent aux "trous de la passoire". + + - 12 trames par d‚faut: Elles peuvent ˆtres recopi‚es vers la zone de + dessin (16x16). + + - "Transfer to brush" (transf‚rer vers la brosse): Copie la trame vers + la brosse (pixels blancs => couleur principale / pixels noirs => + couleur de fond). + + - "Get from brush" (r‚cup‚rer … partir de la brosse): Place la brosse + dans la zone de dessin (couleur de fond => pixels noirs / les autres + => pixels blancs). + + - 4 flŠches de d‚placement (scrolling): D‚placent la trame dans la + zone de dessin. + + - 4 flŠches de dimensionnement: D‚finissent les dimensions de la + trame. + + - Valeur par d‚faut (carr‚ noir ou blanc): Indique quelle couleur doit + ˆtre ins‚r‚e quand vous augmentez les dimensions de la trame. + + - "Clear" (Effacer): Remplit toute la trame avec la valeur par d‚faut + (voir ci-dessus). + + - "Invert" (Inversion): Il ... inverse :) ... les pixels noirs et + blancs. + + + + * Mode Transparence (Colorize) / Menu: + -------------------------------------- + + Cela permet de m‚langer les couleur(s) du pinceau (brosse) avec les + couleurs de l'image. C'est utilis‚ pour faire des effets de transparence + comme avec de l'aquarelle. + + Clic gauche: + ============> + + Active/D‚sactive le mode Transparence. + + + Clic droit: + ============> + + Ouvre un menu dans lequel vous pouvez d‚finir les paramŠtres de + transparence. Ces paramŠtres sont: + + - Taux d'interpolation: Indique le pourcentage de la couleur appliqu‚e + qui sera consid‚r‚e sur la couleur remplac‚e. + + - M‚thode par interpolation: Utilise une m‚thode de moyenne pond‚r‚e + pour calculer la couleur, selon le taux d'interpolation. + + - M‚thode additive: Utilise les teintes les plus claires pour choisir + la couleur … appliquer. + Par exemple: si vous voulez appliquer une couleur ayant les teintes + 30,20,40 sur une couleur 10,50,20, la couleur qui sera appliqu‚e + sera celle qui, dans la palette, sera la plus proche de la couleur + th‚orique 30,50,40. + + - M‚thode soustractive: Utilise les teintes les plus sombres pour + choisir la couleur … appliquer. + Par exemple: si vous voulez appliquer une couleur ayant les teintes + 30,20,40 sur une couleur 10,50,20, la couleur qui sera appliqu‚e + sera celle qui, dans la palette, sera la plus proche de la couleur + th‚orique 10,20,20. + + + + * Mode Smooth (adouci) / Menu: + ------------------------------ + + Cela permet d'obtenit un effet d'anti-aliasing primaire mais ce n'est + vraiment pas aussi efficace que si c'‚tait fait par un artiste. De toutes + fa‡on, cet effet est surtout utile pour donner un aspect flou. + + Click gauche: + =============> + + Active/D‚sactive le mode Smooth. + + + Clic droit: + ============> + + Ouvre un menu dans lequel vous pouvez d‚finir la matrice du Smooth ou + bien en choisir une parmi les 4 pr‚d‚finies. + La case du milieu repr‚sente le pixel sur lequel on dessine et les 8 + cases qui l'entourent repr‚sentent les pixels voisins. Le point sur + lequel on dessine sera alors remplac‚ par la moyenne pond‚r‚e (suivant + les valeurs de chaque case) des 9 points d‚finis. + + + + * Mode Smear (‚taler) / Menu: + ------------------------------ + + Cet effet ‚tale les pixels dans la direction dans laquelle vous bougez + votre pinceau, comme si vous vouliez ‚taler de la peinture fraiche avec + le doigt. Vous pouvez combiner cet effet avec l'effet de transparence. + + N'importe quel clic: + ====================> + + Active/D‚sactive le mode Smear. + + + + * Mode Tiling (Dallage) / Menu: + ------------------------------- + + Cela consiste … appliquer des parties de la brosse ajust‚es sur une + sorte de carrelage lorsque vous dessinez. C'est principalement utilis‚ + pour dessiner rapidement un fond avec un certain motif, mais un grand + nombre d'autres utilisations est possible. + + Clic gauche: + ============> + + Active/D‚sactive le mode Tiling. + + + Clic droit: + ============> + + Ouvre un menu dans lequel vous pouvez choisir les paramŠtres de + Tiling. Ces paramŠtres sont les d‚calages du dallage. (Daaaallaaaage... + Ton univers impitoyaaable... :) Je suis vraiment d‚sol‚... j'ai pas pu + m'en empˆcher :)) + + + + 21 - Texte: + ÄÄÄÄÄÄÄÄÄÄ + + *** Pas encore impl‚ment‚ *** + + + + 22 - Mode Loupe / Menu: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Clic gauche: + ============> + + D‚marre/Annule le choix de la partie zoom‚e. Si vous ˆtes d‚j… en mode + Loupe, vous retournerez en mode normal. + + + Clic droit: + ============> + + Affiche un menu dans lequel vous pouvez choisir le facteur de loupe. + + + Note: Lorsque vous ˆtes en mode Loupe, vous pouvez d‚placer la barre de + s‚paration ("split") en cliquant dessus et en d‚pla‡ant la souris vers la + gauche ou vers la droite en maintenant enfonc‚ le bouton de la souris. + + + + 23 - Pipette / Inverser les couleurs: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Clic gauche: + ============> + + D‚marre une prise de couleur. + + Cliquez sur l'image pour r‚cup‚rer la couleur du pixel sur lequel vous + ˆtes. Vous pouvez prendre indiff‚rement une nouvelle couleur principale + ou couleur de fond en utilisant respectivement le bouton gauche ou droit + de la souris. + + + Clic droit: + ============> + + Echange la couleur principale et la couleur de fond. + + + La couleur sur laquelle vous pointez actuellement sera affich‚e dans la + barre d'outils … la suite des coordonn‚es. + Si vous clickez en dehors de l'image, la couleur 0 vous sera renvoy‚e. + + + + 24 - Taille de l'‚cran / R‚solution de s‚curit‚: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Clic gauche: + ============> + + Affiche un menu dans lequel vous pouvez d‚finir la taille de votre + image (jusqu'… 1024x768) en cliquant dans les boŒtes nomm‚es "Width" + (Largeur) et "Height" (Hauteur); et la r‚solution (dans la liste) dans + laquelle vous souhaitez dessiner. + + Cliquer sur une r‚solution avec le bouton droit de la souris ne + changera pas seulement la r‚solution de l'‚cran, mais changera aussi les + dimensions de l'image par celles de l'‚cran. + + Les r‚solutions affich‚es en gris fonc‚ sont des modes VESA qui ne + sont pas support‚s par votre carte vid‚o. Si vous avez des modes comme + cela, vous devriez essayer de lancer un driver VESA tel que Univesa ou + Univbe avant de lancer le programme. Si ces modes restent indisponibles, + alors cela signifie que votre carte vid‚o ne les supporte vraiment pas. + + Les petits boutons sur le c“t‚ gauche des lignes dans la liste des + modes ont ‚t‚ con‡us pour vous permettre d'inhiber certains modes qui ne + sont pas support‚s par votre carte. + + Lorsque vous clickez sur l'un de ces boutons, sa couleur change vers + l'une des 4 suivantes. La signification de chacune de ces couleurs est: + + - Gris clair: Le mode vid‚o est correct. Il peut ˆtre utilis‚ par + l'option de changement de r‚solution automatique lorsque vous + chargez une image, et vous pouvez le s‚lectionner dans le menu des + r‚solutions. + + - Blanc: Cela fonctionne exactement comme ci-dessus. De plus, cela + vous permet de cocher vos modes pr‚f‚r‚s. En effet, le nombre + impressionnant de modes vid‚o rendant difficile la recherche d'un + mode en particulier dans la liste, aussi vous pouvez mettre ceux que + vous utilisez fr‚quemment en blanc afin qu'ils soient plus facile … + localiser ult‚rieurement. (Note: vous ne pouvez pas inhiber le mode + 320x200 standard) + + - Gris fonc‚: Il vous permet d'indiquer quels modes ne sont pas + parfaits (clignotements, d‚centrage, surbrillance, etc...) mais qui + peuvent tout de mˆme ˆtres utilis‚s par "l'auto-r‚solution". La + diff‚rence avec les boutons gris clair est que ces modes ne seront + pas utilis‚s par l'option de changement de r‚solution automatique. + + - Black: Utilisez cette couleur pour les modes qui ne fonctionnent + vraiment pas. Ainsi, ces modes ne seront pas utilis‚s par l'option + "auto-set res." et le programme vous empˆchera de les s‚lectionner + … partir du menu des r‚solutions. + + + Clic droit: + ============> + + Passe automatiquement au mode 320x200 MCGA. + + + + 25 - Page de brouillon / Copier vers le brouillon: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Clic gauche: + ============> + + Passe … la page de brouillon. La page courante est alors consid‚r‚e + comme la nouvelle page de brouillon, et la page de brouillon comme la + nouvelle page courante. + + + Clic droit: + ============> + + Ouvre un menu dans lequel vous pouvez choisir si vous voulez copier + toute l'image (touche de raccourci dans ce menu: [Return]), seulement + les pixels, seulement la palette, ou seulement quelques couleurs. + Dans ce dernier cas, un second menu (genre stencil) vous proposera de + s‚lectionner les couleurs … copier (par d‚faut, elles sont toutes + s‚lectionn‚es). + Veuillez vous reporter … la section "18 - Stencil" pour savoir comment + utiliser ce dernier menu. + La derniŠre option du menu ("Copier palette et remapper"), adapte la + page de brouillon avec la palette actelle puis recopie cette palette sur + la page de brouillon. Cette option est utile pour remapper rapidement + une image avec la palette d'une autre. + + + + 26 - Sauver l'image / Sauvegarde automatique: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Clic gauche: + ============> + + Affiche un selecteur de fichier dans lequel les options suivantes sont + disponibles: + + - Lecteurs: Vous permettent de changer le lecteur courant. Vous pouvez + aussi utiliser + pour changer de lecteur. + + - Format: Vous permet de choisir le format de fichier que vous voulez + (les formats PAL et KCF sont des formats de palette). + + - Filename (Nom de fichier): Vous permet de donner un nouveau nom … + l'image. Si aucune extension n'est donn‚e, une par d‚faut (d‚pendant + du format) sera utilis‚e. + + - Liste de fichiers: Vous permet de parcourir l'arborescence du disque + ou de remplacer un fichier d‚j… existant. + + - Delete (Supprimer): Permet d'effacer le fichier ou le r‚pertoire (si + celui-ci est vide) se trouvant sous la barre de s‚lection. + + - Save (Sauver): Sauve l'image avec le nom de fichier courant, le + format choisi et le commentaire courant (pour les fichiers PKM). + Si le nom de fichier courant repr‚sente un r‚pertoire, vous entrerez + dedans. + + - Commentaire (Txt): Si vous utilisez le format PKM, vous pouvez + saisir un commentaire de votre image. + + Note: La touche Backspace vous amŠne directement au r‚pertoire parent. + Tapez les 1Šres lettres d'un nom de fichier que vous recherchez + pour y acc‚der plus rapidement. + + Clic droit: + ============> + + Sauve l'image courante avec son nom de fichier, son format et son + commentaire actuels. + + + Si le nom de fichier utilis‚ pour sauver l'image existe d‚j…, une + demande de confirmation apparaŒtra. + + + + 27 - Charger une image / Recharger: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Clic gauche: + ============> + + Cela fonctionne de la mˆme fa‡on que la sauvegarde. + + Vous aurez accŠs dans le selecteur de format … un filtre "*.*". + Et bien ‚videmment, vous ne pourrez pas saisir de commentaire. + + + Clic droit: + ============> + + Recharge l'image. + + + Si vous voulez charger une image et que vous n'avez pas sauv‚ les + derniŠres modifications de l'image courante, une demande de confimation + apparaŒtra. + + + + 28 - ParamŠtres g‚n‚raux (Settings): + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + N'importe quel clic: + ====================> + + Affiche un menu dans lequel vous pouvez configurer divers ‚l‚ments du + programme: + + - Nombre de pages d'UNDO: Indique le nombre total de pages que GrafX2 + m‚morisera. Chaque fois que vous modifiez l'image, son ‚tat courant + est m‚moris‚ dans l'une de ces pages. Pour parcourir ces pages, + utilisez le bouton Oops(Undo/Redo). + + - Fonte: D‚termine si vous voulez utiliser GrafX2 avec une police de + caractŠres classique ou une autre un peu plus amusante. + + - Sensibilit‚ de la souris: Modifie la vitesse de la souris. + + - Montrer/Cacher les fichiers dans les listes: D‚finit si certains + fichiers/r‚pertoires aux attributs particuliers doivent apparaŒtre + ou non dans les s‚lecteurs de fichiers. + + - Montrer/Cacher les limites de l'image: Indique si les limites de + l'image doivent ˆtre affich‚es lorsque vous ˆtes dans une r‚solution + plus grande que l'image. + + - Ecraser la palette: Indique si le chargement d'un fichier dont la + palette fait moins de 256 couleurs doit ‚craser le reste de la + palette actuelle (remplacer par du noir). + + - Maximiser la preview: Maximise la preview des images de fa‡on … ce + qu'elle prenne le plus de place. Si vous n'ˆtes pas dans la mˆme + r‚solution que celle utilis‚e par l'image, cela peut corriger + l'aspect ratio, mais si l'image ne remplit pas tout l'‚cran, cela + peut ˆtre pire. + + - Backup: Lorsque vous sauverez une image sur un fichier existant, le + programme renommera ce fichier en "*.BAK" o— * est le nom de l'image + sans son extension. Si le fichier de backup existe d‚j… dans le + r‚pertoire, il sera remplac‚. Si vous sauvez une image avec le nom + du fichier de backup, aucun fichier de backup ne sera cr‚‚ (bien + ‚videmment!) ;). + + - Curseur: Vous permet de choisir un curseur solide (sprite) ou + transparent. + + - Couleurs de s–ret‚: Remet les 4 couleurs par d‚faut des menus si + vous effectuez une op‚ration qui passe l'image en moins de quatre + couleurs dans l'‚diteur de palette. + + - Adjust brush pick (ajuster la prise de brosse): Cette option est + utilis‚e lorsque vous capturez une brosse en mode Grille. Alors, les + pixels en bas et … droite ne seront pas pris avec le rest de la + brosse. Cette option … ‚t‚ faite car, si les gens r‚cupŠrent des + brosses en mode Grille, c'est principalement lorsqu'ils veulent + r‚cup‚rer des sprites. + Par exemple: si vous avez des sprites 16x16 sur votre page, vous + d‚finirez une grille de 16x16. Mais le curseur se positionnera sur + des points tels que (0,0), (16,0), (16,16) etc... Et le problŠme est + que, de (0,0) … (16,16), il y a 17 pixels! Mais si vous s‚lectionnez + l'option adjust-brush-pick, les pixels ind‚sirables seront ignor‚s. + De plus, cette option ajuste la "poign‚e" de la brosse de fa‡on … ce + que la brosse co‹ncide toujours avec la grille, au lieu de placer + syst‚matiquement l'attache au centre de la brosse. + + - S‚parer les couleurs: Dessiner un quadrillage autour des couleurs + de la barre d'outil. + + - Changer automatiquement de r‚solution: Passe dans la meilleure + r‚solution pour l'image charg‚e. + + - Coordonn‚es: Choisissez si vous souhaitez afficher des coordonn‚es + relatives ou absolues lorsque vous utilisez des outils tels que les + cercles, les rectangles, etc... Par exemple, si vous dessinez un + cercle: si les coordonn‚es sont relatives, le rayon du cercle sera + affich‚, tandis qu'en coordonn‚es absolues coords, ce sont les + coordonn‚es du curseur qui seront affich‚es. + + - Reload (Recharger): Charge la configuration pr‚c‚demment sauv‚e. + + - Auto-save (Sauvegarde automatique): Signifie que la configuration + sera automatiquement sauv‚e quand vous quitterez le programme. + + - Save (Sauver): Sauve la configuration tout de suite. + + + Toutes les modifications prennent effet juste aprŠs avoir ferm‚ le menu + des paramŠtres g‚n‚raux. + + + + 29 - Effacer l'image: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Clic gauche: + ============> + + Efface l'image avec la couleur num‚ro 0. + + + Clic droit: + ============> + + Efface l'image avec la couleur de fond. + + + + 30 - Aide / Statistiques: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Clic gauche: + ============> + + Affiche une fenˆtre d'information o— vous trouverez quelques cr‚dits, + de l'aide sur les diff‚rents effets, des greetings, des information sur + l'enregistrement, etc... + + + Clic droit: + ============> + + Affiche une fenˆtre d'informations o— vous trouverez diverses + informations sur le systŠme. + + Note: pour assurer le bon fonctionnement du programme, il est conseill‚ + de disposer de plus de 128 Ko de libres. + + + + 31 - Oops (D‚faire/Refaire): + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Clic gauche: + ============> + + Vous permet d'annuler la derniŠre modification sur l'image. + + + Clic droit: + ============> + + Vous permet de refaire la derniŠre modification annul‚e sur l'image. + + + Le nombre maximum d'annulations (UNDO) que vous pouvez effectuer peut + ˆtre d‚fini dans le menu des paramŠtres g‚n‚raux. + + D‚faire/Refaire une modification est impossible aprŠs un changement de + page, une chargement d'image ou la modification de la taille de l'image. + + + + 32 - D‚truire la page courante (Kill): + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + N'importe quel clic: + ====================> + + Supprime la page courante de la liste des pages "Undo". Cela vous + permet de lib‚rer un peu de m‚moire si le besoin s'en fait sentir. Cela + permet notamment d'effacer de la m‚moire la page de d‚marrage aprŠs + avoir charg‚ une image. Un message s'affichera lorsque vous aurez + supprim‚ toutes les pages sauf la derniŠre. + + Note: Un autre moyen de lib‚rer de la m‚moire est de r‚duire le nombre + de pages "Undo". Ou encore, si vous avez r‚cemment captur‚ une + trŠs grosse brosse dont vous ne vous servez plus, vous pouvez en + prendre une plus petite. La m‚moire allou‚e pas la grosse brosse + sera alors lib‚r‚e. + + + + 33 - Quitter le programme: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + N'importe quel clic: + ====================> + + Vous permet de quitter GrafX2. S'il y a des modifications non sauv‚es + dans la page courante ou de brouillon, une boite de confirmation vous + demandera si vous d‚sirez r‚ellement quitter GrafX2, si vous voulez + sauver (sauvegarde automatique, pas de s‚lecteur de fichier) ou si vous + voulez rester dans GrafX2. + + + + 34 - Menu de palette: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Clic gauche: + ============> + + Affiche un menu dans lequel les options suivantes sont disponibles: + + - Palette: Vous permet de choisir un bloc de couleurs … ‚diter. Si + vous cliquez avec le bouton droit de la souris, vous d‚finirez une + nouvelle couleur de fond. + + - Jauges RGB: Vous permettent de modifier la s‚lection courante. + + - "+" et "-": Vous permettent d'‚claircir ou d'assombrir la s‚lection + courante. + + - Default (Palette par d‚faut): Restaure la palette pr‚d‚finie de + GrafX2. + + - Gray (Gris): Transforme la s‚lection courante en son ‚quivalent en + niveaux de gris. + + - Negative (N‚gatif): Transforme la s‚lection courante en son + ‚quivalent en vid‚o inverse. + + - Invert (Invertion): Echange les couleurs de la s‚lection courante de + fa‡on … ce que les premiŠres couleurs deviennent les derniŠres. + + - X-Invert (Inverser de fa‡on ‚tendue): Fonctionne comme ci-dessus + mais modifie l'image de fa‡on … ce qu'elle semble inchang‚e. + + - Swap (Echanger): Echange la s‚lection courante avec un autre bloc de + couleurs. Cliquez sur le d‚but du nouveau bloc de couleur. + + - X-Swap (Echanger de fa‡on ‚tendue): Fonctionne comme ci-dessus mais + modifie l'image de fa‡on … ce qu'elle semble inchang‚e. Cela peut + ˆtre utile si vous voulez r‚ordonner votre palette. + + - Copy (Copier): Copie la s‚lection courante vers un autre bloc de + couleurs. Cliquez sur le d‚but du nouveau bloc de couleurs. + + - Spread (D‚grad‚): Calcule un d‚grad‚ entre deux couleurs. Si votre + s‚lection n'est faite que d'une seule couleur, s‚lectionnez la + deuxiŠme couleur dans la palette. Sinon, les deux couleurs seront + les extrˆmit‚s de la s‚lection. + + - Used (Comptage): Indique le nombre de couleurs utilis‚es dans + l'image. + + - Zap unused (Supprimer les couleurs inutilis‚es): ‚crase les couleurs + inutilis‚es avec des copies de la s‚lection courante. (La touche de + raccourci de ce bouton est ). + + - Reduce (R‚duire): Vous permet de r‚duire la palette au nombre de + couleurs que vous d‚sirez (modifie l'image). + + - Undo (D‚faire): Vous permet d'annuler la derniŠre op‚ration faite + sur la palette. Si la derniŠre op‚ration a modifi‚ l'image, cela + n'annulera pas les modifications de l'image: vous devrez cliquer sur + Cancel pour cela. + + + Si vous appuyez sur , le programme insŠrera au mieux les + quatre couleurs par d‚faut du menu … la place de couleurs peu ou pas + utilis‚es. L'image ne paraŒtra pas alt‚r‚e car les couleurs modifi‚es + (dans le cas o— elles ‚taient utilis‚es) seront remplac‚es par les plus + proches couleurs dans le reste de la palette. + Cette option se r‚vŠle fort utile lorsque vous passez la palette dans un + ‚tat ou aucune couleur ne convient pour le menu (ex: "Zap unused" alors + que trŠs peu de couleurs sont utilis‚es dans l'image; ou encore "Reduce" + avec un trŠs faible nombre de couleurs). + + Si vous appuyez sur la touche en dessous de ou <,> (QWERTY), + le menu disparaŒtra et vous pourrez ainsi piocher ais‚ment une couleur + de l'image. Appuyez sur Pour annuler. + + Si une seule couleur est s‚lectionn‚e (pas un bloc), les touches <[> + et <]> (<^> et <$> en AZERTY) peuvent ˆtre utilis‚es pour passer … la + couleur principale pr‚c‚dente ou suivante (couleur de fond si vous + appuyez sur en mˆme temps). + + Attention! Si vous appuyez sur Undo aprŠs une action qui modifie + l'image (X-Swap, X-Invert et Reduce colors), l'image ne sera pas + remapp‚e comme elle ‚tait juste avant cette action. Elle le sera + uniquement avec Cancel (Annuler). + + + Clic droit: + ============> + + Ouvre un menu permettant d'acc‚der aux menus suivants: + + - Menu dans lequel on s‚lectionne les couleurs qui ne doivent pas ˆtre + employ‚es pour le Smooth, le mode de transparence et le remappage. + + - Un menu dans lequel on peut d‚finir des suites de couleurs. + *** Pas encore impl‚ment‚ *** + + + + 35 - D‚placer la palette … gauche / droite: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Clic gauche: + ============> + + D‚place la fenˆtre de palette (… la droite du menu). + + + Clic droit: + ============> + + Idem, mais plus rapidement. + + + + 36 - Fenˆtre de palette: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Clic gauche: + ============> + + D‚finit la couleur principale. + + + Clic droit: + ============> + + D‚finit la couleur de fond. + + + + 37 - Cacher le menu: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + N'importe quel clic: + ====================> + + Vous permet de cacher le menu. Si vous faites cela, prenez soin de + regarder pr‚alablement la touche … presser pour rafficher le menu (la + touche par d‚faut est ). + + + + +Let's talk about $$$, baby: +ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ + + Veuillez vous r‚f‚rer … la section "Register?" de l'aide interne de + GrafX2. + + Pour r‚sumer cette section, disons que GrafX2 est freeware. Mais vous + pouvez quand mˆme nous envoyer de l'argent, des dessins, ou simplement une + carte postale pour nous montrer que nous avons fait un programme qui vous + est utile. + + Nous attirons votre attention sur le fait que la version que vous avez + entre les mains est d‚j… la version "complŠte" (la mˆme que la version + enregistr‚e) aussi nous ne vous enverrons pas d'autre copie de GrafX2. Mais + si vous vous enregistrez pour une version, nous considererons que vous + n'avez pas … vous enregistrer pour les suivantes. + + + + +Astuces de dessin: +ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ + + Cette section parle des astuces qui permettent d'obtenir des effets + sympathiques, ou qui servent simplement … dessiner plus vite. + Notez que, dans la plupart des cas, ces astuces ne permettent que de faire + une grosse partie du travail et qu'il vous faudra bien s–r fignoler … la + loupe si vous souhaitez faire un dessin digne de ce nom! ;) + De plus, si vous avez vous aussi des astuces sympa et que vous souhaitez + en faire profiter les autres, n'h‚sitez pas on nous les signaler. + + + Anti-aliasing: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Ce n'est pas un effet propos‚ par GrafX2 mais une m‚thode de dessin. + Cela consiste … placer des pixels de couleur moyennes dans les angles + form‚s par des pixels contrast‚s pour adoucir de fa‡on esth‚tique leur + aspect. + A notre avis, c'est essential pour dessiner des images vraiment belles. + Une m‚thode facile mais fatigante (la meilleure m‚thode!) est de + commencer par ajouter 1 couleur moyenne puis d'antialiaser les nouvelles + couleurs "r‚cursivement" tant qu'il y a des couleurs interm‚diaires dans + votre palette. + + ÛÛÛÛÛÛÛÛÛÛÛÛ + ÛÛÛÛÛÛÛÛÛÛÛÛ + + ÛÛÛÛÛÛÛÛ±±±±±±±± + ±±±±±±±±ÛÛÛÛÛÛÛÛ + + ÛÛÛÛ²²²²²±±±±°°°° + °°°°±±±±²²²²²ÛÛÛÛ + + + Mode "Smear" combin‚ avec les lignes concentriques: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + En combinant cet effet et cet outil de dessin, vous pouvez arriver … + "‚parpiller" une zone … partir d'un point central. + Si vous n'ˆtes pas en haute r‚solution, il peut s'av‚rer utile d'en- + clencher ‚galement le mode de Transparence (cf. section suivante). + + þ Une application possible est de dessiner des poils sur une peluche. Pour + cela, vous pouvez choisir un des pinceaux pr‚d‚finis qui ressemblent … un + ensemble al‚atoire de points. Selon la densit‚ de poils que vous souhaitez + donner … votre peluche, vous pouvez choisir un pinceau contenant plus ou + moins de points. Placez ensuite le centre des lignes concentriques environ + au centre de la peluche, puis faites tourner la souris autour de la + peluche en maintenant le bouton de la souris enfonc‚. + Avec la mˆme m‚thode, mais en insistant plus longtemps, vous pouvez + donner un effet d'explosion sur un objet. + + þ Vous pouvez ‚galement cr‚er facilement et rapidement des rayons de + soleil avec cette m‚thode. Pour cela, aprŠs avoir plac‚ la forme premiŠre + du soleil sur le ciel, choisissez un pinceau en fonction de la taille des + rayons que vous voulez cr‚er (mais un petit pinceau sera souvent + pr‚f‚rable), et placez le centre des lignes au centre du soleil. Puis + tracez les rayons … la longueur que vous voulez. Si vous n'avez pas pris + un trop gros pinceau, vous pourrez dans un premier temps tracer + rapidement une aur‚ole autour du soleil en tournant rapidement autour et + en maintenant le bouton de la souris enfonc‚, et dans un deuxiŠme temps + vous rajouterez des rayons plus importants avec pr‚cision. + + + Mode "Smear" combin‚ avec l'effet de Transparence: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + Ces deux modes de dessin combin‚s permettent d'‚taler des parties + d'image comme de la peinture fraiche. + Il est recommand‚ d'utiliser la m‚thode de transparence qui consiste … + interpoler avec une opacit‚ d'environ 60% et le "Feedback" des effets + enclench‚. + + þ Tout comme dans la section pr‚c‚dente, cela peut servir … dessiner des + poils et notamment des cils si vous avez une palette adapt‚e (c'est-…-dire + une palette contenant des d‚grad‚s de couleurs entre toutes les couleurs + sur lesquelles vous dessinerez pendant cette op‚ration. + Pour dessiner des cils par exemple, aprŠs avoir dessin‚ l'oeil et la + paupiŠre, tracez un trait noir assez ‚pais repr‚sentant la base des cils (c'est ce + noir que vous ‚talerez sur la paupiŠre). Puis, en mode smear+transparence, + dessinez des traits … la main (avec un petit pinceau: 1, 2 ou 3 pixels de + large suivant que vous dessiniez un visage ou un oeil en gros plan) en + partant de la base des cils et en donnant leur forme. Vous verrez petit-…- + petit votre barre noire s'effiler en forme de cils. + + þ On peut ‚galement se servir de ces effets pour m‚langer des couleurs … + l'‚cran et donner ainsi un aspect de peinture. Par exemple, si l'on + souhaite r‚aliser un fond comportant des formes abstraites compos‚es de + m‚langes de couleurs, on peut proc‚der comme suit: + - D‚finir un palette comportant un d‚grad‚ entre les diff‚rentes teintes + que vous souhaitez utiliser. + - Dessiner trŠs vaguement … l'aide d'un gros pinceau les diff‚rentes zones + de couleurs (en mode normal). + - Avec un plus petit pinceau, et … l'aide du spray, appliquer ces mˆmes + teintes mais en plus clair ou plus fonc‚ sur les zones pr‚c‚demment + d‚finies. + - Toujours avec le mˆme pinceau en spray, mais cette fois-ci en mode smear + (pas forc‚ment avec transparence... mais pourquoi pas?), m‚langez un peu + toutes les couleurs … l'‚cran pour obtenir une "bouillie multicolore" tout + en conservant vaguement les diff‚rentes zones de couleurs. + - Enfin, en mode Smear+Transparence, avec un pinceau moyen arrondi, + dessinez … la main en faisant des tourbillons, des vagues, etc... en + conservant a peu prŠs le mˆme mouvement pour ‚viter les cassures. Ceci + a pour but d'‚liminer la pixellisation op‚r‚e par le spray et de donner + l'aspect final de peinture m‚lang‚e. + - Maintenant, si c'est moche, c'est soit que j'explique mal, soit que vous + n'avez pas de talent! :p + + + Spray combin‚ au mode shade: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + þ Si vous utilisez souvent le mode Shade, et que ‡a vous fatigue de + cliquer plein de fois sur une couleur pour atteindre celle que vous + voulez, vous pouvez definir un spray avec "Size"=1, "Mono-flow"=1, et + "Delay"=2 (ou plus, selon vos r‚flexes). Et vous n'aurez alors plus qu'… + cliquer quelques centiŠmes de seconde pour modifier une couleur. + + þ Avec un diamŠtre plus large, cela permet de rajouter de la granularit‚ + … une texture, car placer des petits pixels plus fonc‚s ou plus clairs + permet de cr‚er des asp‚rit‚s. Diff‚rentes textures appropri‚es … cet + effet sont: du sable, de la pierre, etc... + Il faut bien s–r que vous ayez un d‚grad‚ adapt‚ … la couleur de la + texture. + + þ Vous pouvez ‚galement r‚aliser des textures - \ + plus ‚labor‚es en employant un pinceau en forme \ \ + de petite courbe ou ligne comme "tentent" de le ` \ + montrer les figures ci-contre. ;) | \ + Vous pourrez ainsi r‚aliser des textures de paille, + de cheveux, de pierres stri‚es ou de marbre (le spray ‚tant + toutefois moins recommand‚ que le dessin … la main pour ce dernier). + + + Mode shade pour remplacer les couleurs d'un d‚grad‚ par un autre: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + þ Si vous avec dessin‚ quelque chose avec des couleurs appartenant … un + d‚grad‚ et que vous souhaitiez remplacer toutes ces couleurs par celles + d'un autre d‚grad‚ (du mˆme nombre de couleurs), proc‚dez comme suit: + - D‚finissez dans le menu du mode shade les 2 d‚grad‚s en question sans + les s‚parer par une case vide. + - Passez le shade en mode "no saturation" + - D‚finissez le pas du shade avec la taille des d‚grad‚s (ex: entrez 16 si + vos d‚grad‚s comportent chacun 16 couleurs). + - Et voil…, vous n'avez plus qu'… dessiner par dessus la zone qui doit + changer de teinte (avec le bouton gauche de la souris si vous avez plac‚ + le d‚grad‚ … remplacer en premier dans la table de shade, ou inversement). + + + SphŠres combin‚es avec le mode de transparence additive: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + þ En partant d'un fond sombre (et si possible de couleur unie), tracez des + sphŠres qui se chevauchent avec leur point d'‚clairage au centre. Vous + obtiendrez rapidement un effet de "blobs". + + + Comment dessiner une goutte: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + þ Voici une m‚thode rapide et efficace pour dessiner des gouttes. + Dessinez simplement des pixels trŠs brillants sur le c“t‚ de la goutte + d'o— vient la lumiŠre, et des pixels moins brillants sur le c“t‚ oppos‚. + Enfin, dessinez les ombres suivant la position de la lumiŠre. + + Voici des exemples avec une lumiŠre ±±±±±±±±±±±± ±±±±±±±± + venant du coin haut-gauche. ±±±±±±±±±±±± ±±±±±±±± + (il est pr‚f‚rable de les regarder ±±±±²±°±±±±± ±±Û°±±±± + en mode texte 80x50) ±±±²Û°°±±±±± ±±±°²°±± + ±±±Û²°±²°±±± ±±±±°±±± + Vous pouvez penser que la plus ±±±²±°²²°±±± ±±±±±±±± + petite goutte ne ressemble pas a ±±±±±²Û±°±±± ±±±±±±±± + une goutte, mais dessinez-la en mode ±±±±±°°°±±±± + graphique et vous verrez qu'elle a ±±±±±±±±±±±± + bien l'air d'une goutte. ±±±±±±±±±±±± + + Si vous n'avez pas confiance, dites-vous que c'est en observant les graphs + de Lazur que j'ai trouv‚ cette m‚thode. Et d'une fa‡on g‚n‚rale, il est + toujours bon de regarder le travail des artistes confirm‚s pour apprendre + de nouvelles techniques. + + + + +ProblŠmes/Astuces g‚n‚rales/Questions fr‚quentes (FAQ): +ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ + + * ProblŠmes de carte vid‚o: + + - Les modes VESA sont rendus inaccessibles par Windows NT. Et il parait + que ‡a va ˆtre pareil sous Windows 2000 (on n'a pas encore essay‚, mais on + n'est pas press‚s!). + + - Si votre carte vid‚o n'est pas compatible VESA mat‚riellement, vous + devriez essayer de lancer un driver VESA tel que Univesa ou Univbe. + + - Si votre carte est compatible VESA mais n'affiche pas correctement le + contenu de l'‚cran dans les r‚solutions VESA, c'est probablement parce + qu'elle ne r‚pond pas … tous les critŠres que nous attendons. L'explica- + tion est que, pour une plus grande efficacit‚, nous avons d– n‚gliger + certaines sp‚cificit‚s de quelques cartes vid‚os. Cependant, nous tentons + … chaque nouvelle version d'augmenter la compatibilit‚ avec toutes les + formes du standard VESA. + + - Si vous poss‚dez une carte vid‚o ATI Mach 64 (e.g. ATI Xpert), vous + devriez utiliser le programme r‚sident m64vbe fourni avec la carte pour + supporter complŠtement nos modes XVESA en tapant: "m64vbe vga". + + + * ProblŠmes de m‚moire: + + - Depuis la version 94.666%, nous utilisons le dos-extender EOS Copyright + (c) 1996 Eclipse, au lieu du traditionnel DOS4GW. La raison en est qu'il + est beaucoup plus petit en place disque (un zip plus petit, ‡a devrait + faire plaisir … vos factures de t‚l‚phone) et en m‚moire (vous pouvez + donc lancer GrafX2 avec plus de gestionnaires utilisant la m‚moire + conventionnelle). De plus, ce dos-extender est int‚gr‚ … l'‚x‚cutable de + GrafX2, ce qui diminue ‚galement le nombre de fichiers (votre FAT vous + en sera reconnaissante). + + L'inconv‚nient est que ce dos-extender ne gŠre pas de cache disque. + Ainsi, si vous ne disposez pas d'au moins 4 M‚gaoctets de RAM, vous + devrez utiliser le fichier batch GFX2_MEM.BAT . + + Il est … noter que: + - vous devrez configurer ce fichier selon l'emplacement de certains + fichiers dans l'arborescence de votre (vos) disque(s) dur(s) + - vous devrez avoir quelque part dans l'arborescence de votre (vos) + disque(s) dur(s) le fichier DOS4GW.EXE . + - vous devrez disposer d'au moins 16 M‚gaoctets de libre sur votre + disque dur courant. + + Si vous avez rencontr‚ des problŠmes dans l'utilisation de GrafX2 (avec + au moins 4 M‚gaoctets de m‚moire) qui se seraient r‚solus en utilisant + GFX2_MEM, nous vous serions reconnaissant de nous en faire part. + + EOS est un dos-extender shareware, accompagn‚ de bibliothŠques trŠs + int‚ressantes pour la musique, le graphisme, ... pour des applications + Watcom, Tasm ou Masm. Si vous d‚sirez avoir plus d'informations sur ses + fonctionnalit‚s ou les bibliothŠques qui l'accompagne, n'h‚sitez pas … + nous contacter pour que nous vous mettions en relation avec ses auteurs. + + + * ProblŠmes de carte son: + + Q: Aucun son ne sort de ma Ultra-maxi-sound-blaster-galaxy-64-3D-pnp, + alors que puis-je faire ? + R: Et bien... Vous devez comprendre que ce programme n'est ni un + soundtracker ni un player de musique :) ... Aussi, si vous voulez de la + musique, vous devrez soit jouer des modules avec un bon player qui peut + tourner en arriŠre-plan (avec une session DOS), soit allumer votre + chaine Hi-Fi. + + + * Divers: + + - Si vous avez foutu en l'air le fichier GFX2.CFG et que GrafX2 l'utilise + tel quel, avec un comportement anormal, n'h‚sitez pas … effacer GFX2.CFG + et … relancer GFXCFG pour en cr‚er un nouveau, et correct. En effet les + seuls tests de validit‚ que nous faisons sur le fichier de configuration + sont sa taille et son num‚ro de version. + + - Il se peut que vous ayez r‚cup‚r‚ une version de GrafX2 d‚j… configur‚e + par un ami qui aurait pu utiliser des touches "Windows 95" alors que + vous ne disposez pas vous-mˆme d'un clavier adapt‚. Dans ce cas, il vous + faudra reconfigurer ces combinaisons … l'aide de GFXCFG. + + + * Questions fr‚quemment pos‚es: + + Q: Comment puis-je choisir les dimensions de l'image ? + R: Nous pensions qu'il ‚tait ‚vident que vous deviez cliquer dans les + zones o— les dimensions sont affich‚es, dans le menu de r‚solution + (Width & Height) mais beaucoup de personnes nous ont pos‚ cette + question (?!). Alors, pour r‚sumer, partout o— vous verrez une valeur + ou un texte affich‚ en noir dans une sorte de zone incrust‚e, cela + signifie qu'en cliquant dessus vous pourrez modifier cette valeur. + De plus, si vous voulez que les dimensions de l'image soient celles + de l'‚cran, il vous suffit de cliquer sur la r‚solution dans la liste + avec le bouton droit de la souris. + + Q: O— puis-je obtenir la derniŠre version de GrafX2 ? + R: Le seul endroit o— vous puissiez ˆtre s–r de trouver la toute derniŠre + version est sur notre site web: + http://www-msi.ensil.unilim.fr/~maritaud/sunset + Toutefois, il n'est pas impossible que GrafX2 se retrouve ‚galement sur + des sites FTP d‚di‚s … la "demo-scene" (e.g. ftp://ftp.scene.org). + + Q: Comment puis-je passer la brosse en monochrome, et comment puis-je la + r‚cup‚rer dans son ‚tat normal? + R: Vous pouvez le faire (… supposer que vous n'avez pas chang‚ les touches + par d‚faut) avec les touches + pour rendre la brosse + monochrome, et + pour r‚cup‚rer la brosse en couleur. + + Q: Pourquoi est-ce que la barre d'outil est en bas de l'‚cran et non pas + sur le c“t‚ droit comme dans Deluxe Paint (Copyright Electronic Arts) ? + R: Eh bien... GrafX2 N'EST PAS Deluxe Paint! Nous savons que vous ˆtes + habitu‚s … Deluxe Paint mais vous allez devoir vous habituer … GrafX2! + ;) Si vous ne supportez vraiment pas d'utiliser GrafX2 comme cela, vous + devrez attendre GrafX3 mais nous ne le r‚aliserons certainement pas + avant l'an 2013! En fait, la principale raison pour laquelle nous avons + con‡u la barre d'outil avec un aspect aussi basique est que cela + facilitait (et acc‚l‚rait) l'affichage de l'‚cran, en indiquant aux + routines o— s'arrˆter (l… o— commence la barre d'outil). + De plus, l'un des meilleurs logiciels de dessin sur Amiga (Brilliance) + affiche ‚galement la barre du menu en bas de l'‚cran. + + Q: Pourquoi est-ce que la partie de l'image cach‚e par le menu n'est pas + remplie lorsque j'utilise l'outil "Flood-fill"? + R: Pour la simple et "assez" bonne raison qu'il est pr‚f‚rable que l'uti- + lisateur contr“le parfaitement ce qu'il dessine. Ainsi il ne pourra pas + remarquer trop tard qu'il a saccag‚ une partie de son dessin. Il en est + de mˆme pour tous les autres outils. Et puis pour une moins bonne + raison qui est que c'‚tait plus pratique pour nous. ;) + + Q: Y'a-t-il un moyen pour lancer le programme dans une autre r‚solution + que 320x200 ? + R: Oui, il suffit de taper GFX2 sur la ligne de commande + du DOS. Pour obtenir la liste de tous les modes vid‚o, tapez: GFX2 /?. + + Q: Est-ce normal que certains boutons ne marchent pas (par exemple: le + bouton Texte) ? + R: Oui, c'est que nous n'avons pas encore eu le temps de les faire (je + vous rappelle que GrafX2 en est encore au stade des Beta versions). + Voici cependant la liste des boutons qui ne repondent pas dans GrafX2: + - Rectangles d‚grad‚s (Grad. rectangles) + - Texte + - Effets sur l'image + - et le bouton suivant dans le menu "Brush effects": Torsion (Distort) + + Q: Allez-vous sortir une version Windows? + R: GrafX2 perdrait son ƒme en ‚tant adapt‚ … un systŠme fenˆtr‚ ou … un + systŠme qui ne supporte pas tous ses modes vid‚os. Et de toutes fa‡ons, + il peut se lancer … partir de Windows 9x (on ne sait pas pour Windows + 2000 mais on s'en fiche). Alors c'est bien comme ‡a. La seule chose + int‚ressante que pourrait apporter Windows est le presse-papier. + + Q: Allez-vous sortir une version Linux? + R: Bien que ce soit … peu prŠs le mˆme problŠme qu'avec la version + Windows, Linux manque de programmes comme GrafX2; donc, mˆme une + version limit‚e serait int‚ressante pour cet OS. Par cons‚quent, nous + aimerions sortir une version Linux. Mais nous n'avons aucune exp‚rience + de programmation Linux et notre code est complŠtement indechiffrable + pour les autres. Alors vous devrez attendre... + + Q: Comment puis-je vous contacter ? + R: En fait, ce n'est pas exactement cette question qu'on nous pose puisque + ces gens arrivent … nous contacter ;) mais... + + * Poste: + GUILLAUME DORME (Robinson) KARL MARITAUD (X-Man) + 15, rue de l'observatoire 10, rue de la Brasserie + 87000 LIMOGES (FRANCE) 87000 LIMOGES (FRANCE) + + * E-mail: + dorme@msi.unilim.fr maritaud@ensil.unilim.fr + + N'h‚sitez pas … nous contacter; on adore ‡a! :) + Nous essaierons de r‚pondre … tous les e-mails (s'il n‚cessitent une + r‚ponse), et … certains courriers (Bah oui! On ne va pas se ruiner en + timbres juste pour vous dire "merci d'avoir ‚crit!" :)). diff --git a/doc/history.txt b/doc/history.txt new file mode 100644 index 00000000..eab074ab --- /dev/null +++ b/doc/history.txt @@ -0,0 +1,273 @@ +HISTORY of GRAFX: (in chronological order: latest version at the end) + +* GRAFX 1.0á -> 1.02 (09/??/1995 -> 07/??/1996) + Forget it! + +* GRAFX 2.00 Beta 90% (11/01/1996) - Wired'96 release + This version was 1st shown at the Wired'96 demo party in Belgium. + We gave it to many people there, so let's start history from here. + Note that there were a few different "90%" versions because we didn't + want to change the number just for tiny bug-fixes. + +* GRAFX 2.00 Beta 91% (11/20/1996) + - Fixed: Terrific bug in Help/Messages (one line was too long and + crashed the program!). + - Added: Some new parameters for the settings. + - Added: Now, you can automatically set the best resolution for the + picture loaded and/or slightly adapt the picture to keep the colors of + the menu (for those who want to use GrafX2 as a viewer). + - Fixed: Bug that occured when you wanted to restore your previous + brush while being in "grab brush" mode. + - Added: English user's manual written (will be updated later, and + translated into French). + - Fixed: No more displays pixels out of the preview window when + loading corrupt pictures. + - Fixed: Small bug in LBM loading (for non-standard widths). + - Fixed: Minor error when saving the original screen dimensions in PKM + files. (we didn't save words with Intel conventions) + - Fixed: Exactly the same bug for LBM (but with Motorola conventions) + - Removed: No more saving the current palette when exiting the program + (that was useless and boring when pictures had a weird palette). + +* GRAFX 2.00 Beta 92% (11/27/1996) + - Fixed/Removed: Error message occuring when accessing a drive with no + disk or so finally suppressed! + - Fixed: BMP loading was almost completely bugged and it should now be + completely debugged. + - Fixed/Modified: Set_palette routine (the previous one was fast but + did not work with some weird cards that don't support a REP OUTSB). + - Added: Multi-Undo. + - Added: Backup (*.BAK) files. + +* GRAFX 2.00 Beta 93% (12/12/1996) + - Fixed: Bug that occured when approaching the borders of the screen + in grid mode with the type of cursor used for brush grabbing. + - Fixed: Small but annoying bug when saving files with a name of 9 + characters. + - Fixed: Saved PAL files no longer modify the picture's name (some + mistake must have been done when we implemented the backup option). + - Added: Now, you can stop the loading of previews by pressing a key. + - Improved: Video cards that don't use the same VESA bank for reading + and writing should now work correctly. + - Improved: Frame displayed around the magnifier's preview. + - Improved: Menu of resolutions completely modified, and many new + modes added. + - Modified: The default colors of the menu have been slightly + lightened. + - Improved: The whole configuration is now saved and reloaded in the + settings menu. + +* GRAFX 2.00 Beta 94.0|1|2% (02/13-23/1997) - ACE CD #4 & Volcanic3 releases + (These different versions were too close from each other to be + separated in this file. Just check the last modifications to know + which version you have) + - Added/Improved: (approximative) HAM6 and HAM8 support in IFF(LBM) + files, and improved compatibily with Amiga IFF files => should be + total now. + - Added: The absolutely useless :) CEL and KCF (KISS) file formats. + - Added: The not much more useful SCx (ColoRIX) file format. + - Improved: You can now use the keys to scroll the text in the Help. + - Fixed: Small bug in the scrolling list of resolutions (1 extra line + was displayed at the end of the list when current mode was 640x512). + - Added: English user's manual translated into French (and corrected.. + There can be bugs in text files :)). + - Improved: Now, you can use the brush as an eraser by right clicking. + - Added: X-Invert in the palette editor. + - Fixed: Small bug in the reduce-palette function. + - Improved: GIF saving strongly accelerated (finally!). + - Improved: Shade mode completely modified (customized shades added). + - Fixed: Tiny bug in the block definition of the palette editor. + - Improved: Non-standard PCX files that don't reset the compression + after each line should be supported now (at least for 256-color + pictures). + - Added: Undo in the Shade menu. + - Added: Statistics screen. + +* GRAFX 2.00 Beta 94.666% (03/20/1997) + - Fixed: Statistics screen no longer displays that VESA 1.2 is not + supported. + - Fixed: A few bugs of no consequence. + - Fixed: Bug in the mode-X initialization introduced in the previous + version. + - Added: It is possible to choose between Relative and Absolute + coordinates in the settings menu. + - Improved: The colors of the menu are now calculated from the current + palette, so you won't have to be concerned by the colors of the menu + any more. + - Fixed: The VESA modes are no longer disabled for some video cards. + - Imporoved: "Windows 95" keys are now usable. + - Modified: We now use the EOS dos-extender Copyright (c) 1996 by + Eclipse, so read carefully the docs if you can't use GrafX2 anymore. + +* GRAFX 2.00 Beta 95% (07/18/1997) - Wired'97 release + (It's GrafX2 creation's 1st anniversary! =D (...but still Beta :/) + We wrote the usual "void main(int argc, char * argv[])" one year ago!) + - Fixed: PCX files with odd widths should be supported now. (We fixed + a bug in version 94.1% which added a new one) :( + - Fixed: Small display bug in the grid of the Sieve menu. + - Fixed: Oops! We forgot to remap the colors of the menu when loading + a PAL file. That's stupid! :) + - Improved: The number of predefined paintbrushes has been doubled. + - Added: Outline and Nibble effects for brushes. + - Improved: The "Brush grabbing", "Zoom" and "Pipette" options are no + more stopped by hiding/showing the tool-bar. + - Improved: Now, you can change the current color while drawing. + - Improved: The "auto-set resolution" option works better. + - Added: The 3 color components are displayed in the toolbar when you + want to choose a color. + - Added: A small preview of the color selected by the pipette is + displayed in the tool-bar. + - Fixed: GIF saving (the bug didn't corrupt the file but resulted in a + file that wasn't as well compressed as it should have been). + - Fixed: GIF loading doesn't flash any more on some pictures that were + not corrupt; and LBM neither when loading is interrupted by user. + - Added: Menu where you can choose what you want to copy to the spare + page (pixels, palette, or both...). + - Modified: The size of the palette editor has been very slightly + reduced. + - Modified: The Stencil is now taken into account when using the + "Clear" button. + - Improved: The "magnify" mode is finally displayed with a splitted + screen where you can see both zoomed and unzoomed parts of the picture. + - Added: Now, you can load a picture from the command line (type + "gfx2 /?" for the syntax). + - Added: The preview of a PAL file is now displayed in file-selectors. + - Modified: The tool-bar has been reduced vertically by about 1/3. + - Fixed: Bug in the Grid menu. (The user was able to enter a null grid + step. Doh!) + - Added: "Adjust brush pick" option. + - Fixed: DP2e (LBM-"PBM") files (including new BBM files) with odd + width are now loaded correctly. + - Improved: LBM files are now saved with their exact width and not + with a multiple-of-16 witdh (viewers that can't read these files are + "badly coded" because we save them correctly). + - Improved: The selector bar is now placed on last visited directory + when you change directory. + - Added: "Mask" drawing mode. + - Added: "Smear" drawing mode. + - Improved: "Shade" mode options (normal, loop, saturation). + - Added: You can define if you want Feedback (or not) while drawing + in the drawing modes (effects). + - Improved: The amount of memory used for brushes has been reduced. + - Improved: Scrolling lists speed slightly accelerated. + - Improved: FloodFill slightly accelerated. + +* GRAFX 2.00 Beta 95.5% (09/04/1997) + - Improved: SCx files with less than 256 colors are now supported. + - Fixed: Bug when double-clicking on the Floodfill button. + - Fixed: Bug when "flood-filling" with an effect with feedback. + - Fixed: Bug when filling a vertical-1-pixel-wide area. + - Fixed: Bug of the shape of the cursor when a window is open in + magnify mode. + - Added: Special cursor shape for the pipette. + - Modified: The method to recenter the page when exiting magnifier + mode (the picture recovers its position as it was before zooming). + - Added: Linear Frame Buffer (VESA 2.0 LFB) supported. + - Added: You can now load and save brushes (from the Brush FX menu). + - Fixed: A few video modes (Modes X with a height multiple of 270). + - Fixed: You couldn't save the configuration in the settings menu if + the Auto-save option was off. + - Improved: Polyform has now reached its definitive behaviour. + - Added: Polyfill and filled polyform. + - Added: Lasso (polyformed brushes). + - Added: Concentric lines. + - Added: GFX2.INI file (check its contents for new options). + - Improved: GFX2.CFG file will have ascending compatibility with + future versions from now. + - Added: Some drawing tips have been detailed in the documentation + files. + - Improved: Pipette handling. + +* GRAFX 2.00 Beta 96% (11/03/1997) - Saturne (aborted) party 5 release + - Added: Now, you can increase or decrease the size of the paintbrush. + The default keys are [,<] and [.>] ([;.] and [:/] for azerty). + - Added: Typing the first letters of a filename in file-selectors will + place the selection bar onto it. + - Fixed: Small but annoying bugs in the writing of the GFX2.CFG file + in GFXCFG. The data concerning Shade and Stencil modes were destroyed. + - Added/Improved: It is now possible to define the matrix of the + Smooth mode. We also seized the opportunity to improve the Smooth on + the boundaries of the picture, and to improve the function that + calculates nearest colors. + - Added: The "Replace color" option that replaces all the pixels of + the color pointed by the mouse with the paintbrush color. This tool is + accessible by right clicking on the Floodfill button. + - Improved: FloodFill slightly accelerated (especially with small + surfaces). + - Fixed: The picture was automatically zoomed when choosing a zoom + factor in the menu if the Fast_zoom option was set. + - Added: "Stretch brush". + - Added: Now, you can move windows (menus) and even hide the palette + menu for picking a color that is behind it (with the key just below + ). + - Fixed: Small bug in "Menu_ratio=2" mode when remapping the screen + after color changes. + - Added: "Thin" cursor type (looks like VGApaint's one). + - Fixed: A few video modes (Modes X with a height multiple of 224 and + some others). + - Added: It is now possible to select the colors that can be used for + the smooth and transparency modes, and remapping. + - Fixed: Clicking twice on the Lasso button did not restore the paint- + brush correctly. + - Fixed: the absolute coordinates option wasn't correctly saved in + the .INI file. + - Added: A few new parameters can be defined in the .INI file. + - Added: "Copy palette to spare page and remap destination" option + (accessible from the "Copy to spare page" menu (default: Shift+Tab)). + +* GRAFX 2.00 Beta 96.1% (02/28/1998) - Volcanic Party 4 release + - Fixed: File selector gauges don't bug any more when there are more + than 584 entries :) in the current directory. + - Fixed: The file selector _should_ hang no more on non-image (or + corrupt image) files containing data that look like a known format + signature. + - Fixed: Old and horrible :) video bug. Most of the VESA video cards + that displayed unexpected pixels (when moving the mouse for instance) + should work better (perfectly?) now. + - Fixed: The mouse correction factors didn't work properly. + - Added: Quick-shade mode. + - Improved: You can hide any menu that needs a color selection to pick + up a color behind the window. + - Added: A couple of new parameters in the GFX2.INI file. + +* GRAFX 2.00 Alpha 96.3% (04/11/1998) - Lucky n' Tigrou Party 2 release + !!! Warning: possibly unstable version !!! + - Improved: You can edit pictures bigger than 1024x768, and small + pictures take much less memory, allowing to have many more undo pages! + - Improved: The list of undo pages is preserved when you load a + picture, modify its size, or just go to the spare page. + - Added: You can "kill" a page (i.e. removing it from the list of undo + pages). + - Modified: The Settings menu has been reorganized. + - Improved: The drawing mode is no more set to "discontinuous" by + default. + - Improved: The function to compute the best matching RGB color used + in smooth, colorize, and some other operations has been strongly + accelerated on 486 and Cyrix processors, while it should be about the + same speed or very slightly slower on Intel Pentiums (II) than before. + - Fixed: The program finally works under Windows NT (without dos4gw)! + +* GRAFX 2.00 Beta 96.5% (12/23/1999) - Xmas'99 release + - Fixed: This version seems (is!) stable even with huge pictures. :) + - Fixed: A few options on brushes kept modifying the continuity of the + free-hand drawing mode. + - Fixed: The "nibble brush" operation crashed sometimes. + - Fixed: Remapping the screen after modifying colors in the palette + editor displayed, in rare cases, unexpected pixels or even crashed. + It didn't remap correctly the picture in "Magnify" mode, too. + - Fixed: Catastrophic bug occuring when you "flood-filled" an area + starting at the bottom of the picture. + - Added: An option in GFX2.INI to tell if the number of colors used + must be automatically calculated, and another one for the default + video mode at startup. + - Fixed: The colors of the menu are now correctly remapped when + getting colors from the brush. + - Added: Degas Elite's file formats (PI1,PC1,...) support. + - Added: True-color BMP (Windows) and PCX images can be loaded. They + will be converted to a 256-color image with palette optimization and + Floyd/Steinberg dithering. Note: some other true-color formats will be + added in the next release. + - Fixed: Loading corrupt pictures with null dimensions could crash. + - Improved: Brush streching is now in "real time" (and snaps to the + grid if "Adjust brush picking" is set). + - Added: Brush rotation by any angle. diff --git a/doc/readme!.1st b/doc/readme!.1st new file mode 100644 index 00000000..ab094da5 --- /dev/null +++ b/doc/readme!.1st @@ -0,0 +1,145 @@ +ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ +³!!!!!!! PLEASE READ THIS FILE !!!!!!!³!!!!!! VEUILLEZ LIRE CE FICHIER !!!!!!³ +³!! ENTIRELY BEFORE RUNNING GRAFX2 !!!³! ENTIEREMENT AVANT DE LANCER GRAFX2 !³ +ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ + ³ + ³ + If you are reading this file right ³ Si vous lisez ce fichier maintenant, +now, I'm sure that it is for one out ³ Je suis s–r que c'est pour l'une de +of these four reasons: ³ ces quatre raisons: + ³ + 1) You are THE ONE who first reads ³ 1) Vous ˆtes CELUI qui lit les + README.1ST files before running ³ fichiers README.1ST avant de lancer + new programs. ³ de nouveaux programmes. + ³ + 2) Today is a rainy day and you've ³ 2) Il pleut aujourd'hui et vous avez + already finished all the games ³ d‚j… termin‚ tous les jeux que vous + you've... "purchased". So you ³ avez... "achet‚s". Donc vous n'avez + have nothing else to do that ³ rien d'autre … faire que de lire ce + reading this damn file. ³ fichu fichier. + ³ + 3) You had the quite good reflex ³ 3) Vous avez eu l'assez bon r‚flŠxe + (for someone who did not read ³ (pour quelqu'un qui n'a pas lu ce + this file) to switch off your PC ³ fichier) d'‚teindre votre PC avant + before your monitor burns, and ³ que votre moniteur grille, et + now you wonder why. ³ maintenant vous cherchez pourquoi. + ³ + 4) You have burnt your monitor ³ 4) Vous avez bouzill‚ votre moniteur + because you didn't read this ³ parce que vous n'avez pas lu ce + file first. And you now have all ³ fichier en premier. Et maintenant + the time to read it on your ³ vous avez tout le temps de le lire + neighbour's computer before you ³ sur l'ordinateur de votre voisin en + can buy another monitor. ³ attendant de pouvoir vous acheter + ³ un nouvel ‚cran. + ³ + ³ +úÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄú + ³ + ³ + So here is what you must know about ³ Donc voici ce que vous devez savoir +GrafX2 before running it: ³ … propos de GrafX2 avant de le lancer: + ³ + ³ + Video problems: ³ ProblŠmes vid‚o: + ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ³ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ + ³ + - This program provides a huge ³ - Ce programme propose un trŠs grand + range of video resolutions. All ³ nombre de modes vid‚o. Toutes ces + these resolutions may not work with ³ r‚solutions peuvent ne pas marcher + your monitor or video card. This ³ avec votre moniteur ou carte vid‚o. + should result by your monitor to ³ Ceci peut r‚sulter par un sifflement + whistle and stay black or display ³ de votre moniteur ou bien plus g‚n‚- + shit. ³ ralement qu'il affiche n'importe + So we added a keyboard shortcut ³ quoi ou qu'il reste tout noir. + for you to come back to a normal ³ Par cons‚quent, nous avons ajout‚ + resolution (MCGA 320x200). The ³ un raccourci clavier pour que vous + default keys for this shortcut are ³ puissiez revenir … un r‚solution + [Shift]+[Return]. But, since you ³ normale (MCGA 320x200). La combinai- + can configure all the keys with ³ son de touches par d‚faut est + GFXCFG, you should check its actual ³ [Shift]+[Return]. Mais, puisque vous + value by running this setup program.³ pouvez configurer toutes les touches + ³ avec GFXCFG, vous devriez v‚rifier + Note that we take no responsa- ³ la combinaison exacte en lan‡ant ce + bility for any problems you could ³ programme. + encounter with GrafX2. ³ + ³ Notez que ne sommes aucunement + Important: ³ responsables d'‚ventuels problŠmes + If the standard VESA modes (i.e. ³ que vous pourriez rencontrer avec + 640x400,640x480,800x600 & 1024x768) ³ GrafX2. + don't work, please type this line ³ + from the DOS command line: ³ Important: + TESTVESA > VESA.TXT ³ Si les modes VESA standards (i.e. + and send us the file thus created ³ 640x400,640x480,800x600 & 1024x768) + telling us the name of your video ³ ne fonctionnent pas, veuillez taper + card. It would be even better if you³ ceci sur la ligne de commande DOS: + sent a version of this file with no ³ TESTVESA > VESA.TXT + VESA driver in memory and another ³ et nous envoyer le fichier ainsi + one with a resident driver (such as ³ cr‚‚ en nous donnant le nom de votre + UNIVBE (c)Scitech Software). ³ carte vid‚o. Ce serait encore mieux + ³ si vous nous envoyiez une version de + ³ ce fichier avec aucun gestionnaire + ³ VESA en m‚moire et une autre avec un + ³ driver r‚sident (tel que UNIVBE + ³ (c)Scitech Software). + ³ + ³ + Problems with the keys? ³ ProblŠmes avec les touches? + ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ³ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ + ³ + - The button in the bottom-left ³ - Le bouton dans le coin bas-gauche + corner of the tool-bar (the one ³ de la barre d'outils (celui avec une + with a cross) was designed to hide ³ croix) a ‚t‚ con‡u pour cacher la + the tool-bar. But, the danger with ³ barre d'outils. Mais le danger avec + this button is that, if you don't ³ ce bouton est que si vous ne con- + know the key to have it back, you ³ naissez pas la touche qui permet de + will be in trouble :). ³ la rafficher, vous serez embˆt‚ :). + The default key is [F10] but ³ La touche par d‚faut est [F10] + check it in the setup program. ³ mais v‚rifiez-la avec GFXCFG. + ³ + - The default key for exiting the ³ - La touche par d‚faut pour quitter + program is [Q] (for QWERTY ³ le programme est [Q] (pour claviers + keyboards). This can be useful if ³ QWERTY). Cela peut ˆtre utile si + you don't remember how to show the ³ vous ne vous rappelez pas comment + tool-bar. ³ remontrer la barre d'outils. + ³ + - The key-configuration program ³ - Le programme de configuration des + displays the values for QWERTY ³ touches affiche ces derniŠres pour + keyboards. So if you have an AZERTY ³ les claviers QWERTY. Donc, si vous + keyboard for example, and want to ³ avez un clavier AZERTY par exemple + use your true Q key for quitting, ³ et que vous voulez utiliser votre + don't worry if the program displays ³ vraie touche Q pour quitter, ne vous + 'A'. ³ ‚tonnez pas si le programme affiche + ³ 'A'. + - Though keys are designed for ³ + QWERTY keyboards, "typing areas" ³ - Bien que les touches soient g‚r‚es + will read the key-codes of your ³ pour claviers QWERTY, les zones de + country. For example, when you'll ³ saisie lisent les touches de votre + have to enter a file name, you'll ³ pays. Par exemple, lorsque vous + get what you type (cool! :)). ³ entrerez un nom de fichier, vous + ³ obtiendrez ce que vous tapez (cool!) + - For people who would like to get ³ :). + directly the AZERTY equivalent of ³ + the default configuration file, we ³ - Pour ceux qui voudraient avoir + have added the GFX2_FRA.CFG file. ³ directement l'‚quivalent AZERTY du + Then you'll just have to rename it ³ fichier de configuration par d‚faut, + to GFX2.CFG (great!) ;). ³ nous avons inclus le fichier + ³ GFX2_FRA.CFG. Vous n'aurez qu'… le + ³ renommer en GFX2.CFG (g‚nial!) ;). + ³ + ³ +úÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄú + ³ + ³ + OK! Now you can use and abuse of ³ OK! Maintenant vous pouvez user et +this program! ³ abuser de ce programme! + ³ + ³ +PS: Pleeeease! If you think something ³ PS: Par piti‚‚‚‚! Si vous pensez que + is going wrong, read all the docs ³ quelque chose ne tourne pas rond, + before complaining! Maybe that's ³ lisez toutes les docs avant de + merely because you don't know how ³ vous plaindre! Peut-ˆtre que c'est + to use it that it doesn't act as ³ simplement parce que vous ne savez + you expect. ;) ³ pas comment l'utiliser qu'une + ³ option n'agit pas comme vous + | esp‚rez. + ú diff --git a/doc/readme.txt b/doc/readme.txt new file mode 100644 index 00000000..9cf4b3b4 --- /dev/null +++ b/doc/readme.txt @@ -0,0 +1,60 @@ +GrafX2 - The Ultimate 256-color bitmap paint program +Copyright (C)1996-2001 Sunset Design (G.Dorme & K.Maritaud) +------------------------------------- + +Here you can find the source code of GrafX2. +You can use and modify it as you want (in the +limits fixed the GNU GPL). +But you are strongly encouraged to submit new +versions to the authors (see addresses below) +if you plan to release them. + +The GFX2_SRC directory contains the current state +of our own directory when we were programming GrafX2. +The source code is mainly in French but you'll find +more explanations (in both English and French) on +our web site (see address below). + +The subdirectory "DAT" contains the source code +of the program used to generate the GFX2.DAT file. + +The subdirectory "CFG" contains the source code +of the GFXCFG program used for redefining keys +and recreating corrupt configuration files. + +The current version of GrafX2 must be compiled +with Watcom C (we used version 10.6). +The auxiliary programs (GFXCFG, MAKEDAT, etc...) +must be compiled with Borland Turbo Pascal 7. +Both Watcom C and Borland Turbo Pascal 7 are now +FREE to use. + + +------- GNU G.P.L. disclaimer ------- +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +------------------------------------- + + +You can contact the authors here: + +Guillaume DORME +address: 15, rue de l'Observatoire, 87000 LIMOGES (FRANCE) +e-mail: dorme@msi.unilim.fr + +Karl Maritaud +address: 10, rue de la Brasserie, 87000 LIMOGES (FRANCE) +e-mail: maritaud@ensil.unilim.fr + +http://w3.ensil.unilim.fr/~maritaud/sunset diff --git a/doc/tech_eng.txt b/doc/tech_eng.txt new file mode 100644 index 00000000..c6aeecb6 --- /dev/null +++ b/doc/tech_eng.txt @@ -0,0 +1,732 @@ +ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ +³°±²Û Technical documentation for GrafX 2.00 - Version 1.08 (10/05/1997) Û²±°³ +ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ + +This file deals with: + + - the PKM picture format + - the values to send to the CRTC to access all the amazing video modes + available in GrafX 2.00 + + + +ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ +³ °±²Û The PKM picture format - by Karl Maritaud Û²±° ³ +ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ + + + First of all, I'd like to say that I made this file format some years ago + when I didn't knew how to load any good format (eg. GIF) and wanted to have + my own format. + PKM format was designed to be very simple, easy to encode and decode. Its + header is very simple (short) and evolutive. + The only real default I can find in this format is that you can only save + 256-color pictures. + I know that you will think: + "Oh no just another fucking format! I'll never use it! Its compression + is too poor and I prefer GIF!". + And I'll answer: + "Yeah! You're right. But if you dunno how to load GIF and want a simple + format with a quite good compression rate (on simple pictures at least), + it could be useful." + + So, here comes the format documentation... + + + +The HEADER: +ÍÍÍÍÍÍÍÍÍÍÍ + + The header is the following 780-byte-structure. (Don't worry about the size. + That's just because the palette is considered as a part of the header). + + + ÚÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ + ³ Pos ³ Field ³ Type ³ Size ³ Description ³ + ÆÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ + ³ 0 ³ Signature ³ char ³ 3 ³ Constant string "PKM" (with NO size ³ + ³ ³ ³ ³ ³ delimitation '\0' or so...) ³ + ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ + ³ 3 ³ Version ³ byte ³ 1 ³ For the moment, it can take only the ³ + ³ ³ ³ ³ ³ value 0. ³ + ³ ³ ³ ³ ³ Other packing methods may change this ³ + ³ ³ ³ ³ ³ field but there is only one for now... ³ + ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ + ³ 4 ³ Pack_byte ³ byte ³ 1 ³ Value of the recognition byte for color ³ + ³ ³ ³ ³ ³ repetitions that are coded on 1 byte. ³ + ³ ³ ³ ³ ³ (See the picture packing section for a ³ + ³ ³ ³ ³ ³ better explanation) ³ + ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ + ³ 5 ³ Pack_word ³ byte ³ 1 ³ Value of the recognition byte for color ³ + ³ ³ ³ ³ ³ repetitions that are coded on 2 bytes. ³ + ³ ³ ³ ³ ³ (See the picture packing section...) ³ + ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ + ³ 6 ³ Width ³ word ³ 2 ³ Picture width (in pixels) ³ + ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ + ³ 8 ³ Height ³ word ³ 2 ³ Picture height (in pixels) ³ + ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ + ³ 10 ³ Palette ³ byte ³ 768 ³ RGB palette (RGB RGB ... 256 times) with ³ + ³ ³ ³ ³ ³ values from 0 to 63. I know the standard ³ + ³ ³ ³ ³ ³ in picture files is 0 to 255 but I find ³ + ³ ³ ³ ³ ³ it stupid! It is really easier to send ³ + ³ ³ ³ ³ ³ the whole palette in port 3C9h with a ³ + ³ ³ ³ ³ ³ REP OUTSB without palette convertion. ³ + ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ + ³ 778 ³ PH_size ³ word ³ 2 ³ Post-header size. This is the number of ³ + ³ ³ ³ ³ ³ bytes between the header and the picture ³ + ³ ³ ³ ³ ³ data. This value can be equal to 0. ³ + ÀÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ + + Data of type "word" are stored with Intel conventions: lower byte first. + + + +The POST-HEADER: +ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ + + The post-header has a variable size. It was designed to support new features +for this file format without changing the whole format. + + It consists in field identifiers followed by their size and their value. + A field identifier is coded with 1 byte and a field size also. + + + These field identifiers are: (this list may be updated...) + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + 0 : Comment on the picture + 1 : Original screen dimensions + 2 : Back color (transparent color) + + If you encounter a field that you don't know just jump over it. But if a + field tells you to jump to a position that is over the beginning of the + picture data, there is an error in the file. + + + The fields: + ÄÄÄÄÄÄÄÄÄÄÄ + + * Comment: + + With this field, artists will be able to comment their pictures. + Note that GrafX 2 has a comment size limit of 32 chars. But you can + comment a picture with up to 255 chars if you make your own viewer + since GrafX 2 will just ignore extra characters. + + Example: [0],[16],[Picture by X-Man] + This sequence means: + - the field is a comment + - the comment takes 16 characters (there is no end-of-string character + since you know its size) + - the comment is "Picture by X-Man" + + * Original screen dimensions: + + Since GrafX 2 supplies a huge range of resolutions, it seemed convenient + to add a field that indicates what were the original screen dimensions. + + Example: [1],[4],[320],[256] + This sequence means: + - the field is a screen dimensions descriptor + - the dimensions are 2 words (so this value must be always equal to 4) + - the original screen width was 320 pixels + - the original screen height was 256 pixels + + Note that words stored in fields are written Intel-like. The 90% BETA + version did not respect this norm. I'm really sorry about this. This is + not very serious but pictures saved with version 90% and loaded with a + latest version (91% and more) won't set the right resolution. + + * Back color: + + Saving the back color (transparent color) is especially useful when you + want to save a brush. + The size of this field is 1 byte (index of the color between 0 and 255). + + Example: [2],[1],[255] + This sequence means: + - the field is a screen dimensions descriptor + - the value takes 1 byte + - the transparent color is 255 + + +The PICTURE PACKING METHOD: +ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ + + The PKM compression method is some sort of Run-Length-Compression which is +very efficient on pictures with long horizontal color repetitions. + Actually, the compression is efficient if there are often more than 3 times +the same color consecutively. + + I think that it would be better to give you the algorithm instead of swim- +ming in incomprehensible explanations. + + + BEGIN + /* + functions: + Read_byte(File) reads and returns 1 byte from File + Draw_pixel(X,Y,Color) draws a pixel of a certain Color at pos. (X,Y) + File_length(File) returns the total length in bytes of File + + variables: + type of Image_size is dword + type of Data_size is dword + type of Packed_data_counter is dword + type of Pixels_counter is dword + type of Color is byte + type of Byte_read is byte + type of Word_read is word + type of Counter is word + type of File is + */ + + /* At this point you've already read the header and post-header. */ + + Image_size <- Header.Width * Header.Height + Data_size <- File_length(File) - (780+Header.PH_size) + + Packed_data_counter <- 0 + Pixels_counter <- 0 + + /* Depacking loop: */ + WHILE ((Pixels_counterHeader.Pack_byte) AND (Byte_read<>Header.Pack_word)) + THEN + { + Draw_pixel(Pixels_counter MOD Header.Width, + Pixels_counter DIV Header.Width, + Byte_read) + + Pixels_counter <- Pixels_counter + 1 + Packed_data_counter <- Packed_data_counter + 1 + } + ELSE /* Is the number of pixels to repeat coded... */ + { /* ... with 1 byte */ + IF (Byte_read = Header.Pack_byte) THEN + { + Color <- Read_byte(File) + Byte_read <- Read_byte(File) + + FOR Counter FROM 0 TO (Byte_read-1) STEP +1 + Draw_pixel((Pixels_counter+Counter) MOD Header.Width, + (Pixels_counter+Counter) DIV Header.Width, + Color) + + Pixels_counter <- Pixels_counter + Byte_read + Packed_data_counter <- Packed_data_counter + 3 + } + ELSE /* ... with 2 bytes */ + { + Color <- Read_byte(File) + Word_read <- (word value) (Read_byte(File) SHL 8)+Read_byte(File) + + FOR Counter FROM 0 TO (Word_read-1) STEP +1 + Draw_pixel((Pixels_counter+Counter) MOD Header.Width, + (Pixels_counter+Counter) DIV Header.Width, + Color) + + Pixels_counter <- Pixels_counter + Word_read + Packed_data_counter <- Packed_data_counter + 4 + } + } + } + END + + + For example, the following sequence: + (we suppose that Pack_byte=01 and Pack_word=02) + 04 03 01 05 06 03 02 00 01 2C + will be decoded as: + 04 03 05 05 05 05 05 05 03 00 00 00 ... (repeat 0 300 times (012Ch=300)) + + Repetitions that fit in a word must be written with their higher byte first. + I know that it goes against Intel standard but since I read bytes from the + file thru a buffer (really faster), I don't care about the order (Sorry :)). + But words in the header and post-header must be written and read Intel-like! + + + Packing advices: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + * As you can see, there could be a problem when you'd want to pack a raw + pixel with a color equal to Pack_byte or Pack_word. These pixels should + always be coded as a packet even if there is only one pixel. + + Example: (we suppose that Pack_byte=9) + 9 will be encoded 9,9,1 (The 1st 9 in the encoded... + 9,9 will be encoded 9,9,2 ... sequence is Pack_byte) + etc... + + * It seems obvious to find values for Pack_byte and Pack_word that are + (almost) never used. So a small routine that finds the 2 less used colors + in the image should be called before starting to pack the picture. This can + be done almost instantaneously in Assembler. + + * When you want to pack a 2-color-sequence, just write these 2 colors one + after the other (Color,Color) because it only takes 2 bytes instead of 3 if + you had to write a packet (Pack_byte,Color,2). + + * If you pack a very simple picture which has a sequence of more than 65535 + same consecutive bytes, you must break the sequence and continue with a new + packet. + + Example: you have to pack 65635 same consecutive bytes (eg. color 0) + (we suppose that Pack_byte=01 and Pack_word=02) + You'll write: 02 00 FF FF 01 00 64 (FFFFh=65535, 64h=100) + + + +ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ +³ °±²Û Setting GrafX 2.00 video modes Û²±° ³ +ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ + + + All set-mode procs are in 386 ASM. Anyway, if you can't understand any + line of ASM, I really can't see the use you'll have of these procedures. + + They are designed to be used in FLAT memory model. Anyway, it wouldn't + take too much time for you to adapt them to the model you use since only + memory indexations can be affected by this (so use DS:SI instead of ESI, + ES:DI instead of EDI, and beware to the address 0A0000h that will become + 0A000h:0000h). + + +MCGA: (Standard VGA mode) +ÍÍÍÍÍ + + Is there anybody in this world who still don't now how to set the MCGA + 320x200 256 colors mode ??!? + Well... I hope you are a novice if you read the 2 following lines :) + + + mov ax,0013h + int 10h + + + +X-Modes: (Extended VGA modes) +ÍÍÍÍÍÍÍÍ + + Well... I think the original Mode X was 320x240 but now, many people call + "X-Modes" (or Modes X, or Tweaked modes) all the VGA modes that use more + that 64Kb of video memory with the "Unchained" structure. + Setting a pixel in any X-Mode can be done by one same function (but I + won't explain to you how to do that. You just have to tell the function what + the plane width (screen_width/4) is). + If you can't understand anything about what I say (unchained, planes...), + just read any good documentation about Mode X. + + We'd like to thank the authors of XLIB2 for saving our time by having made + this useful function. We slightly optimized it for our needs but the most + important parts are here. + + + mov ax,13h ; Yeah! The MCGA mode again! All X-Modes must start from + int 10h ; the standard VGA mode, but many things change after. + + mov dx,3C6h ; During the initialization, we'll turn the palette into + xor al,al ; black in order to avoid the user to see all our + out dx,al ; manipulations. + + mov dx,3C4h ; We will inform the TIMING SEQUENCER register to switch + mov ax,0604h ; in unchained mode (mode-X), without odd/even management + out dx,ax ; and with an access to the 256Kb of the video card. + mov ax,0100h ; Now we will engage the synchronous reset of the TS + out dx,ax ; register because we're about to play with registers. + + mov al,01h ; Like with the palette, we ask the video card not to + out dx,al ; peek the memory to display it anymore. Thus, it's + inc dx ; one more way to avoid interferences in the display, + in al,dx ; which happens until the mode is completely initialized + mov ah,al ; and stable. In addition, we can expect that asking a + mov al,01h ; memory reading interruption will turn the system + push ax ; faster, and thus speed up the initialization of the + mov al,ah ; graphic mode (hope makes you live :)) + or al,20h ; + out dx,al ; + + mov esi,X_ptr ; Pointer on the list of constants to send to the CRTC. + cld + + lodsb ; This loads in AL a value that will tell what to do + ; with the MISCELLANEOUS register, and increases ESI. + ; The value is equal to ZERO => Nothing to do + ; or ELSE => Send AL to MISCELLANEOUS + + or al,al ; Shall we modify the basic video mode? + jz NoThankYou ; No?Ä¿ Actually the answer is always "Yes". + mov dx,3C2h ; ³ Except for a few modes such as + out dx,al ; ³ 320x200 in Mode X + NoThankYou: ; <ÄÄÄÙ (but our 320x200 is MCGA...) + + mov dx,3C4h ; Manipulations with MISCELLANEOUS register are over, we + mov ax,0300h ; can now disengage the synchronous register of the TS. + out dx,ax + + ; Now, what about teasing the CRTC? + + mov dx,3D4h ; In the 18th register of the CRTC, we will disengage the + mov al,11h ; protection bit. Without this, the values we would have + out dx,al ; sent to the CRTC registers would have been ignored. + inc dx + in al,dx + and al,7Fh + out dx,al + + dec dx ; DX points back to the CRTC register entry + lodsb ; This loads in AL the number of CRTC registers to modify + xor ecx,ecx ; You must clear ECX before... + mov cl,al ; ... starting to repeat AL (CL) times OUTSW + rep outsw ; Let's send all the CRTC parameters! + + ; Just in case the 20th CRTC register would have been forgotten in the + ; initialisation table, we can compute it by ourselves (Yeah, we are good + ; guys). + + mov ax,Screen_width ; You must tell the routine what the Screen width is + shr ax,3 + mov ah,al + mov al,13h + out dx,ax + + mov dx,3C4h ; Now you have the good resolution but there can be + mov ax,0F02h ; shitty pixels on the screen coming from the uncleared + out dx,ax ; memory areas. + mov edi,0A0000h ; So we'll clean memory starting from 0A0000h with the + xor eax,eax ; value 0 (which is the standard black) and on a range + mov ecx,4000h ; of 4000h dwords (256Kb). + rep stosd ; Let's wipe all this out. + + mov dx,3C4h ; We can ask the VGA to read again the memory to display + pop ax ; it on the screen... + out dx,ax ; + mov dx,3C6h ; ... and turn on the palette so the picture appears to + mov al,0FFh ; the user. + out dx,al ; + + + + The table of constants you must send is one of these: + (These are tables for C but they can be easily used in other languages) + + word X320Y224[] = + { 0x0BA3, 0x6F06, 0xBA07, 0x0008, 0x4109, 0x0810, 0x8A11, 0xBF12, 0x0014, + 0xC715, 0x0416, 0xE317 }; + word X320Y240[] = + { 0x0AE3, 0x0D06, 0x3E07, 0x4109, 0xEA10, 0xAC11, 0xDF12, 0x0014, 0xE715, + 0x0616, 0xE317 }; + word X320Y256[] = + { 0x0CE3, 0x2306, 0xB207, 0x0008, 0x6109, 0x0A10, 0xAC11, 0xFF12, 0x2013, + 0x0014, 0x0715, 0x1A16, 0xE317 }; + word X320Y270[] = + { 0x0BE7, 0x3006, 0xF007, 0x0008, 0x6109, 0x2010, 0xA911, 0x1B12, 0x0014, + 0x1F15, 0x2F16, 0xE317 }; + word X320Y282[] = + { 0x0CE3, 0x6206, 0xF007, 0x6109, 0x310F, 0x3710, 0x8911, 0x3312, 0x2F13, + 0x0014, 0x3C15, 0x5C16, 0xE317 }; + word X320Y300[] = + { 0x0DE3, 0x4606, 0x1F07, 0x0008, 0x4009, 0x3110, 0x8011, 0x2B12, 0x2013, + 0x0014, 0x2F15, 0x4416, 0xE317 }; + word X320Y360[] = + { 0x09E3, 0x4009, 0x8810, 0x8511, 0x6712, 0x2013, 0x0014, 0x6D15, 0xBA16, + 0xE317 }; + word X320Y400[] = + { 0x03E3, 0x4009, 0x0014, 0xE317 }; + word X320Y448[] = + { 0x0BA3, 0x6F06, 0xBA07, 0x0008, 0x4009, 0x0810, 0x8A11, 0xBF12, 0x0014, + 0xC715, 0x0416, 0xE317 }; + word X320Y480[] = + { 0x0AE3, 0x0D06, 0x3E07, 0x4009, 0xEA10, 0xAC11, 0xDF12, 0x0014, 0xE715, + 0x0616 , 0xE317}; + word X320Y512[] = + { 0x0CE3, 0x2306, 0xB207, 0x0008, 0x6009, 0x0A10, 0xAC11, 0xFF12, 0x2013, + 0x0014, 0x0715, 0x1A16, 0xE317 }; + word X320Y540[] = + { 0x0BE7, 0x3006, 0xF007, 0x0008, 0x6009, 0x2010, 0xA911, 0x1B12, 0x0014, + 0x1F15, 0x2F16, 0xE317 }; + word X320Y564[] = + { 0x0CE7, 0x6206, 0xF007, 0x0008, 0x6009, 0x3E10, 0x8911, 0x3312, 0x2013, + 0x0014, 0x3C15, 0x5C16, 0xE317 }; + word X320Y600[] = + { 0x0BE7, 0xBE06, 0xF007, 0x0008, 0x6009, 0x7C10, 0x8C11, 0x5712, 0x0014, + 0x5815, 0x7016, 0xE317 }; + word X360Y200[] = + { 0x09E7, 0x6B00, 0x5901, 0x5A02, 0x8E03, 0x5E04, 0x8A05, 0x2D13, 0x0014, + 0xE317 }; + word X360Y224[] = + { 0x12A7, 0x6B00, 0x5901, 0x5A02, 0x8E03, 0x5E04, 0x8A05, 0x6F06, 0xBA07, + 0x0008, 0x4109, 0x0810, 0x8A11, 0xBF12, 0x2D13, 0x0014, 0xC715, 0x0416, + 0xE317 }; + word X360Y240[] = + { 0x11E7, 0x6B00, 0x5901, 0x5A02, 0x8E03, 0x5E04, 0x8A05, 0x0D06, 0x3E07, + 0x4109, 0xEA10, 0xAC11, 0xDF12, 0x2D13, 0x0014, 0xE715, 0x0616, 0xE317 }; + word X360Y256[] = + { 0x12E7, 0x6B00, 0x5901, 0x5A02, 0x8E03, 0x5E04, 0x8A05, 0x2B06, 0xB207, + 0x0008, 0x6109, 0x0E10, 0xAC11, 0xFF12, 0x2D13, 0x0014, 0x0715, 0x1A16, + 0xE317 }; + word X360Y270[] = + { 0x12E7, 0x6B00, 0x5901, 0x5A02, 0x8E03, 0x5E04, 0x8A05, 0x3006, 0xF007, + 0x0008, 0x6109, 0x2010, 0xA911, 0x1B12, 0x2D13, 0x0014, 0x1F15, 0x2F16, + 0xE317 }; + word X360Y282[] = + { 0x12E7, 0x6B00, 0x5901, 0x5A02, 0x8E03, 0x5E04, 0x8A05, 0x6206, 0xF007, + 0x6109, 0x310F, 0x3710, 0x8911, 0x3312, 0x2D13, 0x0014, 0x3C15, 0x5C16, + 0xE317 }; + word X360Y300[] = + { 0x12E7, 0x6B00, 0x5901, 0x5A02, 0x8E03, 0x5E04, 0x8A05, 0x4606, 0x1F07, + 0x0008, 0x4009, 0x3110, 0x8011, 0x2B12, 0x2D13, 0x0014, 0x2F15, 0x4416, + 0xE317 }; + word X360Y360[] = + { 0x0FE7, 0x6B00, 0x5901, 0x5A02, 0x8E03, 0x5E04, 0x8A05, 0x4009, 0x8810, + 0x8511, 0x6712, 0x2D13, 0x0014, 0x6D15, 0xBA16, 0xE317 }; + word X360Y400[] = + { 0x0AE7, 0x6B00, 0x5901, 0x5A02, 0x8E03, 0x5E04, 0x8A05, 0x4009, 0x2D13, + 0x0014, 0xE317 }; + word X360Y448[] = + { 0x12A7, 0x6B00, 0x5901, 0x5A02, 0x8E03, 0x5E04, 0x8A05, 0x6F06, 0xBA07, + 0x0008, 0x4009, 0x0810, 0x8A11, 0xBF12, 0x2D13, 0x0014, 0xC715, 0x0416, + 0xE317 }; + word X360Y480[] = + { 0x11E7, 0x6B00, 0x5901, 0x5A02, 0x8E03, 0x5E04, 0x8A05, 0x0D06, 0x3E07, + 0x4009, 0xEA10, 0xAC11, 0xDF12, 0x2D13, 0x0014, 0xE715, 0x0616, 0xE317 }; + word X360Y512[] = + { 0x12E7, 0x6B00, 0x5901, 0x5A02, 0x8E03, 0x5E04, 0x8A05, 0x2B06, 0xB207, + 0x0008, 0x6009, 0x0E10, 0xAC11, 0xff12, 0x2D13, 0x0014, 0x0715, 0x1A16, + 0xE317 }; + word X360Y540[] = + { 0x12E7, 0x6B00, 0x5901, 0x5A02, 0x8E03, 0x5E04, 0x8A05, 0x3006, 0xF007, + 0x0008, 0x6009, 0x2010, 0xA911, 0x1B12, 0x2D13, 0x0014, 0x1F15, 0x2F16, + 0xE317 }; + word X360Y564[] = + { 0x12EB, 0x6B00, 0x5901, 0x5A02, 0x8E03, 0x5E04, 0x8A05, 0x6206, 0xF007, + 0x0008, 0x6009, 0x3E10, 0x8911, 0x3312, 0x2D13, 0x0014, 0x3C15, 0x5C16, + 0xE317 }; + word X360Y600[] = + { 0x12E7, 0x6B00, 0x5901, 0x5A02, 0x8E03, 0x5E04, 0x8A05, 0xBE06, 0xF007, + 0x0008, 0x6009, 0x7C10, 0x8C11, 0x5712, 0x2D13, 0x0014, 0x5815, 0x7016, + 0xE317 }; + word X400Y200[] = + { 0x09E7, 0x7100, 0x6301, 0x6402, 0x9203, 0x6604, 0x8205, 0x3213, 0x0014, + 0xE317 }; + word X400Y224[] = + { 0x12A7, 0x7100, 0x6301, 0x6402, 0x9203, 0x6604, 0x8205, 0x6F06, 0xBA07, + 0x0008, 0x4109, 0x0810, 0x8A11, 0xBF12, 0x3213, 0x0014, 0xC715, 0x0416, + 0xE317 }; + word X400Y240[] = + { 0x12E7, 0x7100, 0x6301, 0x6402, 0x9203, 0x6604, 0x8205, 0x0D06, 0x3E07, + 0x0008, 0x4109, 0xEA10, 0xAC11, 0xDF12, 0x3213, 0x0014, 0xE715, 0x0616, + 0xE317 }; + word X400Y256[] = + { 0x12E7, 0x7100, 0x6301, 0x6402, 0x9203, 0x6604, 0x8205, 0x2B06, 0xB207, + 0x0008, 0x6109, 0x1310, 0xAC11, 0xFF12, 0x3213, 0x0014, 0x0715, 0x1A16, + 0xE317 }; + word X400Y270[] = + { 0x12E7, 0x7100, 0x6301, 0x6402, 0x9203, 0x6604, 0x8205, 0x3006, 0xF007, + 0x0008, 0x6109, 0x2010, 0xA911, 0x1B12, 0x3213, 0x0014, 0x1F15, 0x2F16, + 0xE317 }; + word X400Y282[] = + { 0x12E7, 0x7100, 0x6301, 0x6402, 0x9203, 0x6604, 0x8205, 0x6206, 0xF007, + 0x6109, 0x310F, 0x3710, 0x8911, 0x3312, 0x3213, 0x0014, 0x3C15, 0x5C16, + 0xE317 }; + word X400Y300[] = + { 0x12E7, 0x7100, 0x6301, 0x6402, 0x9203, 0x6604, 0x8205, 0x4606, 0x1F07, + 0x0008, 0x4009, 0x3110, 0x8011, 0x2B12, 0x3213, 0x0014, 0x2F15, 0x4416, + 0xE317 }; + word X400Y360[] = + { 0x0FE7, 0x7100, 0x6301, 0x6402, 0x9203, 0x6604, 0x8205, 0x4009, 0x8810, + 0x8511, 0x6712, 0x3213, 0x0014, 0x6D15, 0xBA16, 0xE317 }; + word X400Y400[] = + { 0x0AE7, 0x7100, 0x6301, 0x6402, 0x9203, 0x6604, 0x8205, 0x4009, 0x3213, + 0x0014, 0xE317 }; + word X400Y448[] = + { 0x12A7, 0x7100, 0x6301, 0x6402, 0x9203, 0x6604, 0x8205, 0x6F06, 0xBA07, + 0x0008, 0x4009, 0x0810, 0x8A11, 0xBF12, 0x3213, 0x0014, 0xC715, 0x0416, + 0xE317 }; + word X400Y480[] = + { 0x11E7, 0x7100, 0x6301, 0x6402, 0x9203, 0x6604, 0x8205, 0x0D06, 0x3E07, + 0x4009, 0xEA10, 0xAC11, 0xDF12, 0x3213, 0x0014, 0xE715, 0x0616, 0xE317 }; + word X400Y512[] = + { 0x12E7, 0x7100, 0x6301, 0x6402, 0x9203, 0x6604, 0x8205, 0x2B06, 0xB207, + 0x0008, 0x6009, 0x1310, 0xAC11, 0xFF12, 0x3213, 0x0014, 0x0715, 0x1A16, + 0xE317 }; + word X400Y540[] = + { 0x12E7, 0x7100, 0x6301, 0x6402, 0x9203, 0x6604, 0x8205, 0x3006, 0xF007, + 0x0008, 0x6009, 0x2010, 0xA911, 0x1B12, 0x3213, 0x0014, 0x1F15, 0x2F16, + 0xE317 }; + word X400Y564[] = + { 0x12EB, 0x7100, 0x6301, 0x6402, 0x9203, 0x6604, 0x8205, 0x6206, 0xF007, + 0x0008, 0x6009, 0x3E10, 0x8911, 0x3312, 0x3213, 0x0014, 0x3C15, 0x5C16, + 0xE317 }; + word X400Y600[] = + { 0x12E7, 0x7100, 0x6301, 0x6402, 0x9203, 0x6604, 0x8205, 0xBE06, 0xF007, + 0x0008, 0x6009, 0x7C10, 0x8C11, 0x5712, 0x3213, 0x0014, 0x5815, 0x7016, + 0xE317 }; + + + The structure: (example) + + ÚÄÄÄÄThis is the number of values to send to the CRTC registers. This + ³ is actually the number of words in the tables minus 1 (because the + ³ 1st word of the table is not sent to the CRTC but contains a value + ³ to send to the MISCELLANEOUS register and the number of values to + ³ send to the CRTC registers ;) ). + ³ + ³ ÚÄÄThis is the value to send to the MISCEALLANEOUS register (or ZERO + ³ ³ if no value must be sent to it). + ³ ³ + ³ ³ ÚÄÄÄThis is a value to send to a register of the CRTC. + ³ ³ ³ + ³ ³ ³ ÚÄThis is the index of the CRTC register that will receive + ³ ³ ³ ³ the value. + ÿÿ ÿÿ + { 0x0AE3, 0x0D06, 0x3E07, 0x4109, 0xEA10, 0xAC11, 0xDF12, 0x0014, 0xE715, + 0x0616, 0xE317 }; + + You can notice that CRTC registers 0 to 5 (and 13h) define the screen + width while registers 6 to 17h (except 13h) define the screen height. + + + We have more modes in our pocket than the "few" :) ones we included in + GrafX 2.00, but they aren't really useful or stable. But we may decice to + include them anyway in a next version. + If some of your favourite modes are missing, just send us the list of + constants we must shoot at the CRTC just following the structure we use + above. + + IMPORTANT! The constant values listed above are not supported by every + monitor or video card. + We have tested GrafX2 with several different configurations and + we constated that some modes don't work at all with some video + cards while some others can be overscanned, out of center, dark, + too bright, or shrunk. + But they all work fine with our poor little Tseng Labs ET4000... + + If you already have a good knowledge about CRTC and have different values + than ours for certain modes, please let us know. We'll use them if they work + better with a majority of computers. + + + +VESA: (A "pseudo-standard" for Super-VGA modes) +ÍÍÍÍÍ + + We use VESA for modes that require a width of 640, 800 or 1024 pixels. + But there is a way to combine X-Modes height with VESA so it's possible to + have modes as weird as in X-Mode. + + + mov ax,4F02h + mov bx,Video_mode + int 10h + + + 256-color-VESA video modes are: + 100h : 640x400 + 101h : 640x480 + 103h : 800x600 + 105h : 1024x768 + 107h : 1280x1024 (not available in GrafX2 because only supported with + video cards with 2 or more Megabytes of video memory) + + + As with X-Modes, you can modify CRTC registers to access "Xtd-VESA" modes! + (Note that some video cards don't support the modification of the VGA CRTC + registers in VESA modes.) + + + To enter these extended VESA modes, set a standard VESA mode with the right + width, and then call Modify_CRTC_registers with the proper Height table. + + Example (640x512) : + VESA_Set_mode(101h) /* Set a video mode with the same width */ + Modify_CRTC_registers(Y512) /* Modify height */ + + + * Height tables: + + word Y224[] = + { 0x09A3, 0x6F06, 0xBA07, 0x0008, 0x4109, 0x0810, 0x8A11, 0xBF12, 0xC715, + 0x0416 }; + word Y240[] = + { 0x09E3, 0x0D06, 0x3E07, 0x0008, 0x4109, 0xEA10, 0xAC11, 0xDF12, 0xE715, + 0x0616 }; + word Y256[] = + { 0x0900, 0x2B06, 0xB207, 0x0008, 0x6109, 0x0A10, 0xAC11, 0xFF12, 0x0715, + 0x1A16 }; + word Y270[] = + { 0x09E7, 0x3006, 0xF007, 0x0008, 0x6109, 0x2010, 0xA911, 0x1B12, 0x1F15, + 0x2F16 }; + word Y282[] = + { 0x0AE3, 0x6206, 0xF007, 0x0008, 0x6109, 0x310F, 0x3710, 0x8911, 0x3312, + 0x3C15, 0x5C16 }; + word Y300[] = + { 0x09E3, 0x4606, 0x1F07, 0x0008, 0x4009, 0x3110, 0x8011, 0x2B12, 0x2F15, + 0x4416 }; + word Y350[] = + { 0x09A3, 0xBF06, 0x1F07, 0x0008, 0x4009, 0x8310, 0x8511, 0x5D12, 0x6315, + 0xBA16 }; + word Y360[] = + { 0x07E3, 0x0008, 0x4009, 0x8810, 0x8511, 0x6712, 0x6D15, 0xBA16 }; + word Y400[] = + { 0x01E3, 0x4009 }; + word Y448[] = + { 0x09A3, 0x6F06, 0xBA07, 0x0008, 0x4009, 0x0810, 0x8A11, 0xBF12, 0xC715, + 0x0416 }; + word Y480[] = + { 0x09E3, 0x0D06, 0x3E07, 0x0008, 0x4009, 0xEA10, 0xAC11, 0xDF12, 0xE715, + 0x0616 }; + word Y512[] = + { 0x0900, 0x2B06, 0xB207, 0x0008, 0x6009, 0x0A10, 0xAC11, 0xFF12, 0x0715, + 0x1A16 }; + word Y540[] = + { 0x09E7, 0x3006, 0xF007, 0x0008, 0x6009, 0x2010, 0xA911, 0x1B12, 0x1F15, + 0x2F16 }; + word Y564[] = + { 0x09E7, 0x6206, 0xF007, 0x0008, 0x6009, 0x3E10, 0x8911, 0x3312, 0x3C15, + 0x5C16 }; + word Y600[] = + { 0x09E7, 0xBE06, 0xF007, 0x0008, 0x6009, 0x7C10, 0x8C11, 0x5712, 0x5815, + 0x7016 }; + + + + Modifying CRTC registers: (inspired by X-Modes init... See above for more + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ details or comments) + + mov esi,XVESA_Ptr + cld + + lodsb + or al,al ; Shall we modify the basic video mode? + jz NoThankYou ; No?Ä¿ The answer can be "No" because initialisations + mov dx,3C2h ; ³ of certain VESA modes directly set the right + out dx,al ; ³ value for the Miscellaneous register. + NoThankYou: ; <ÄÄÄÙ + + mov dx,3D4h + mov al,11h + out dx,al + inc dx + in al,dx + and al,7Fh + out dx,al + + dec dx + lodsb + xor ecx,ecx + mov cl,al + rep outsw + + + + If you are cunning enough, you'll be able to combine constants used in + X-Modes to get more "Xtd-VESA" modes such as 640x200, 800x480, etc... + (but I don't think this will work with 1024x??? because this mode is + generally interlaced... But who knows?...) + The most difficult is to find the right value for the MISCELLANEOUS + register. diff --git a/doc/tech_fra.txt b/doc/tech_fra.txt new file mode 100644 index 00000000..c365887c --- /dev/null +++ b/doc/tech_fra.txt @@ -0,0 +1,769 @@ +ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ +³°±²Û Doc. technique pour GrafX 2.00 - Version 1.08 (5 octobre 1997) Û²±°³ +ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ + +Ce fichier traite: + + - du format d'image PKM + - des valeurs … envoyer au CRTC pour avoir accŠs … tous les modes vid‚os + incroyables disponibles dans GrafX 2.00 + + + +ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ +³ °±²Û Le format d'image PKM - par Karl Maritaud Û²±° ³ +ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ + + + Tout d'abord, je tiens a dire que j'ai cr‚‚ ce format il y a d‚j… quelques + ann‚es, … l'‚poque o— je ne savais pas comment charger les meilleurs formats + (GIF par exemple) et que je voulais ‚galement avoir mon propre format. + Le format PKM a ‚t‚ con‡u pour ˆtre trŠs simple, facile … encoder et … + d‚coder. De plus, son header est trŠs simple (court) et evolutif. + Le seul vrai d‚faut que je puisse y trouver est que l'on ne peut sauver + des images qu'en 256 couleurs. + Je sais que vous allez vous dire: + "Oh non! Encore un nouveau format … la con! J'm'en servirai jamais! En + plus le taux de compression est naze! Je prefŠre le GIF!". + Et je r‚pondrai: + "Ouais! T'as raison. Mais si tu ne sais pas comment charger du GIF et + que tu veux un format simple avec une compression correcte (du moins sur + les images simples), il peut ˆtre utile." + + Donc, voici la documentation de ce format... + + + +Le HEADER: +ÍÍÍÍÍÍÍÍÍÍ + + Le header est la structure de 780 octets suivante. (Ne vous inqui‚tez pas … + propos de la taille. C'est tout simplement parce que la palette fait partie + du header). + + + ÚÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ + ³ Pos ³ Champ ³ Type ³Taille³ Description ³ + ÆÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵ + ³ 0 ³ Signature ³ char ³ 3 ³ ChaŒne constante "PKM" (SANS d‚limitation³ + ³ ³ ³ ³ ³ de taille '\0' ou autres...) ³ + ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ + ³ 3 ³ Version ³ byte ³ 1 ³ Pour le moment, ce champ ne peut prendre ³ + ³ ³ ³ ³ ³ que la valeur 0. ³ + ³ ³ ³ ³ ³ D'autres m‚thodes de compression pourront³ + ³ ³ ³ ³ ³ la modifier mais pour l'instant il n'y en³ + ³ ³ ³ ³ ³ a qu'une seule. ³ + ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ + ³ 4 ³ Pack_byte ³ byte ³ 1 ³ Valeur de l'octet de reconnaissance pour ³ + ³ ³ ³ ³ ³ les r‚p‚titions de couleurs cod‚es sur 1 ³ + ³ ³ ³ ³ ³ Octet. (Voir la section sur la m‚thode de³ + ³ ³ ³ ³ ³ compression pour plus d'informations) ³ + ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ + ³ 5 ³ Pack_word ³ byte ³ 1 ³ Valeur de l'octet de reconnaissance pour ³ + ³ ³ ³ ³ ³ les r‚p‚titions de couleurs cod‚es sur 2 ³ + ³ ³ ³ ³ ³ Octets. (Voir la section sur la m‚thode ³ + ³ ³ ³ ³ ³ de compression pour plus d'informations) ³ + ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ + ³ 6 ³ Largeur ³ word ³ 2 ³ Largeur de l'image (en pixels) ³ + ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ + ³ 8 ³ Hauteur ³ word ³ 2 ³ Hauteur de l'image (en pixels) ³ + ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ + ³ 10 ³ Palette ³ byte ³ 768 ³ Palette RGB (RGB RGB ... 256 fois) avec ³ + ³ ³ ³ ³ ³ des valeurs de 0 … 63. Je sais que le ³ + ³ ³ ³ ³ ³ standard dans les fichiers d'images est ³ + ³ ³ ³ ³ ³ de 0 … 255 mais je trouve ‡a cr‚tin! ³ + ³ ³ ³ ³ ³ C'est tellement plus simple d'envoyer la ³ + ³ ³ ³ ³ ³ palette toute entiŠre dans le port 3C9h ³ + ³ ³ ³ ³ ³ avec un REP OUTSB sans avoir … convertir ³ + ³ ³ ³ ³ ³ la palette. ³ + ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ + ³ 778 ³ Taille_PH ³ word ³ 2 ³ Taille du Post-header. C'est le nombre ³ + ³ ³ ³ ³ ³ d'octets entre le header et les donn‚es ³ + ³ ³ ³ ³ ³ de l'image. Cette valeur peut valoir 0. ³ + ÀÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ + + Les donn‚es du type "word" sont stock‚es selon les conventions d'Intel: + c'est-…-dire l'octet de poids le plus faible en premier. + + + +Le POST-HEADER: +ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ + + Le post-header a une taille variable. Il a ‚t‚ con‡u pour supporter les +nouvelles fonctions de ce format sans avoir a changer complŠtement le format. + + Il est constitu‚ d'identificateurs de champ suivis par leur taille et leur +contenu. + Un identificateur de champ est cod‚ sur 1 octet ainsi que sa taille. + + + Ces identificateurs de champ sont: (cette liste peut ˆtre rallong‚e...) + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + 0 : Commentaire sur l'image + 1 : Dimensions de l'‚cran d'origine + 2 : Couleur de fond (couleur de transparence) + + Si vous rencontrez un champ inconnu par votre routine de chargment, sautez + simplement au del…. Mais, par contre, si un champ vous dit de sauter … une + position qui tombe aprŠs le d‚but th‚orique des donn‚es de l'image, alors + c'est qu'il y a une erreur dans le fichier. + + + Les champs: + ÄÄÄÄÄÄÄÄÄÄÄ + + * Commentaire: + + Grƒce … ce champ, les artistes vont pouvoir commenter leurs dessins. + Notez que GrafX 2 a une taille limite de commentaire de 32 caractŠres. + Mais vous pourrez avoir des commentaires allant jusqu'… 255 caractŠres + si vous cr‚ez votre propre viewer puisque GrafX 2 ignorera simplement + les caractŠres en trop. + + Exemple: [0],[15],[Dessin de X-Man] + Cette s‚quence signifie: + - le champ est un commentaire + - le commentaire a une taille de 15 caractŠres (il n'y a pas de + caractŠre de fin de chaŒne puisque vous connaissez sa taille) + - le commentaire est "Dessin de X-Man" + + * Dimensions de l'‚cran d'origine: + + Puisque GrafX 2 propose un ‚norme choix de r‚solutions, il a sembl‚ + pratique d'ajouter un champ indicant quelles ‚taient les dimensions de + l'‚cran d'origine. + + Exemple: [1],[4],[320],[256] + Cette s‚quence signifie: + - Le champ d‚crit les dimensions de l'‚cran d'origine + - Les dimensions sont 2 words (donc cette valeur doit ˆtre ‚gale … 4) + - La largeur de l'‚cran d'origine ‚tait de 320 pixels + - La hauteur de l'‚cran d'origine ‚tait de 256 pixels + + Notez que les words stock‚s dans les champs sont ‚crits … la maniŠre + Intel. La BETA-version 90% ne respectait pas cette norme (d‚sol‚). + Ce n'est pas bien grƒve mais les images sauv‚es avec la version 90% et + recharg‚es avec une version post‚rieure (91% et plus) ne passeront pas + dans la bonne r‚solution. + + * Couleur de fond: + + Enregistrer la couleur de fond (couleur de transparence) se r‚vŠle + particuliŠrement utile lorsque vous voulez sauvegarder une brosse. + La taille de ce champ est 1 octet (indice de la couleur entre 0 et 255). + + Exemple: [2],[1],[255] + Cette s‚quence signifie: + - le champ d‚crit la couleur de fond + - la valeur prend 1 octet + - La couleur de transparence est 255 + + +La METHODE DE COMPACTAGE DE L'IMAGE: +ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ + + La m‚thode de compression PKM est une sorte de "Run-Length-Compression" qui +est trŠs efficace sur les images comportant de longues r‚p‚titions d'une mˆme +couleur horizontalement. + En fait la compression commence … ˆtre efficace s'il y a souvent plus de 3 +fois la mˆme couleur cons‚cutivement. + + Je pense qu'il est pr‚f‚rable de vous donner directement l'algorithme plut“t +que de nager dans des explications incomprehensibles. + + + DEBUT + /* + fonctions: + Lire_octet(Fichier) Lit et retourne 1 octet … partir de + Fichier + Dessiner_pixel(X,Y,Couleur) Dessine un pixel d'une certaine Couleur + … la position (X,Y) + Taille_fichier(Fichier) Retourne la taille totale d'un Fichier + en octets + + variables: + le type de Taille_image est dword + le type de Taille_donnees est dword + le type de Compteur_donnees est dword + le type de Compteur_pixels est dword + le type de Couleur est byte + le type de Octet_lu est byte + le type de Word_lu est word + le type de Compteur est word + le type de Fichier est + */ + + /* A cet endroit, le header et le post-header ont d‚j… ‚t‚ lus. */ + + Taille_image <- Header.Largeur * Header.Hauteur + Taille_donnees <- Taille_fichier(Fichier) - (780+Header.Taille_PH) + + Compteur_donnees <- 0 + Compteur_pixels <- 0 + + /* Boucle de d‚compression: */ + TANT QUE ((Compteur_pixelsHeader.Pack_byte) ET (Octet_lu<>Header.Pack_word)) + ALORS + { + Dessiner_pixel(Compteur_pixels MOD Header.Largeur, + Compteur_pixels DIV Header.Largeur, + Octet_lu) + + Compteur_pixels <- Compteur_pixels + 1 + Compteur_donnees <- Compteur_donnees + 1 + } + SINON /* Est-ce que le nombre de pixels … r‚p‚ter est cod‚... */ + { /* ... sur 1 octet ? */ + SI (Octet_lu = Header.Pack_byte) ALORS + { + Couleur <- Lire_octet(Fichier) + Octet_lu <- Lire_octet(Fichier) + + POUR Compteur ALLANT DE 0 A (Octet_lu-1) PAR PAS DE +1 + Dessiner_pixel((Compteur_pixels+Compteur) MOD Header.Largeur, + (Compteur_pixels+Compteur) DIV Header.Largeur, + Couleur) + + Compteur_pixels <- Compteur_pixels + Octet_lu + Compteur_donnees <- Compteur_donnees + 3 + } + SINON /* ... sur 2 octets ? */ + { + Couleur <- Lire_octet(Fichier) + Word_lu <- (word) (Lire_octet(Fichier) SHL 8)+Lire_octet(Fichier) + + POUR Compteur ALLANT DE 0 A (Word_lu-1) PAR PAS DE +1 + Dessiner_pixel((Compteur_pixels+Compteur) MOD Header.Largeur, + (Compteur_pixels+Compteur) DIV Header.Largeur, + Couleur) + + Compteur_pixels <- Compteur_pixels + Word_lu + Compteur_donnees <- Compteur_donnees + 4 + } + } + } + FIN + + + Par exemple, la s‚quence suivante: + (on suppose que Pack_byte=01 et Pack_word=02) + 04 03 01 05 06 03 02 00 01 2C + sera d‚cod‚e comme: + 04 03 05 05 05 05 05 05 03 00 00 00 ... (rep‚ter 0 300 fois (012Ch=300)) + + Les r‚p‚titions qui tiennent sur un word doivent ˆtre ‚crites avec leur + octet de poids le plus fort en premier. Je sais que ‡a va … l'encontre du + standard Intel mais puisque je lis les octets du fichier au travers d'un + buffer (franchement plus rapide), Je me fous complŠtement de l'ordre + (D‚sol‚ :)). Mais les words du header et du post-header doivent ˆtre ‚crits + et lus … la maniŠre Intel! + + + Conseils de compactage: + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ + + * Comme vous pouvez le constater, il pourrait y avoir un problŠme lorsque + vous devriez compacter un pixel brut de couleur ‚gale … Pack_byte ou … + Pack_word. Ces pixels doivent toujours ˆtre cod‚s comme des paquets mˆme + s'il n'y a qu'un seul pixel. + + Exemple: (supposons que Pack_byte=9) + 9 sera encod‚ 9,9,1 (Le 1er 9 dans la s‚quence... + 9,9 sera encod‚ 9,9,2 ... encod‚e est Pack_byte) + etc... + + * Il semble ‚vident de trouver des valeurs pour Pack_byte et Pack_word qui + ne sont jamais (ou presque) utilis‚es. Donc, une petite routine qui trouve + les 2 couleurs les moins utilis‚es dans l'image devrait ˆtre appel‚e avant + de commencer la compression. Ceci peut ˆtre r‚alis‚ presque instantan‚ment + en Assembleur. + + * Quand vous voulez ‚crire une s‚quence de 2 couleurs identiques, ‚crivez + simplement ces 2 couleurs l'une aprŠs l'autre (Couleur,Couleur) puisque ‡a + ne prend que 2 octets au lieu de 3 si vous aviez ‚crit un paquet (Pack_byte, + Couleur,2). + + * Si vous compressez une image extrˆmement simple qui comporte une s‚quence + de plus de 65535 fois la mˆme couleur cons‚cutivement, vous devez "casser" + la s‚quence et continuer avec un nouveau paquet. + + Exemple: vous devez compacter les 65635 mˆmes octets cons‚cutifs (de + couleur 0 par exemple) + (On suppose que Pack_byte=01 et Pack_word=02) + Vous devrez alors ‚crire: 02 00 FF FF 01 00 64 (FFFFh=65535, 64h=100) + + + +ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ +³ °±²Û Passer dans les modes vid‚os de GrafX 2.00 Û²±° ³ +ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ + + + Toutes les proc‚dures d'initialisation de mode sont ‚crites en ASM 386. De + toutes fa‡ons, si vous ne comprenez pas une ligne d'ASM, je ne vois vraiment + pas … quoi pourront vous servir ces proc‚dures. + + Elles ont ‚t‚ con‡ues pour ˆtre utilis‚es dans le modŠle de m‚moire FLAT. + Mais cela ne devrait pas vous prendre trop de temps de les adapter au modŠle + que vous souhaitez utiliser puisqu'il n'y a que les manipulations de m‚moire + que cela affectera (utilisez donc DS:SI au lieu de ESI, ES:DI … la place de + EDI et faŒtes attention … l'adresse 0A0000h qui se transforme en l'adresse + 0A000h:0000h). + + +MCGA: (Mode VGA standard) +ÍÍÍÍÍ + + Y-a-t'il quelqu'un sur cette planŠte qui ne sache toujours pas comment + on passe en mode MCGA 320x200 en 256 couleurs ??!? + Bon... Je suppose que vous ˆtes un novice si vous lisez les 2 lignes + suivantes :) + + + mov ax,0013h + int 10h + + + +Modes X: (Modes VGA ‚tendus) +ÍÍÍÍÍÍÍÍ + + Bon... Il me semble que le Mode X original ‚tait en 320x240, mais + maintenant tout le monde appelle "Modes X" (ou X-Modes, ou Tweaked modes) + tous les modes VGA qui utilise plus de 64Ko de m‚moire vid‚o et la structure + "Unchained". + Afficher un pixel dans n'importe quel Mode X peut ˆtre effectu‚ par la + mˆme et unique fonction (mais je ne vous expliquerai pas comment faire, il + vous suffit d'indiquer … la fonction la taille des plans (Largeur/4)). + Si vous ne comprenez rien … ce que je dis, (Unchained, plans...) il vous + suffit de lire n'importe quelle bonne documentation sur le Mode X. + + + Nous tenons … remercier les auteurs de XLIB2 pour nous avoir ‚conomis‚ du + temps en ayant ‚crit cette fonction. Nous l'avons l‚gŠrement optimis‚e en + fonction de nos besoins, mais l'essentiel en a ‚t‚ conserv‚. + + + mov ax,13h ; Oui! Encore le mode MCGA! Tous les Modes X doivent + int 10h ; commencer … partir du mode VGA standard, mais bien des + ; choses changent par la suite. + + mov dx,3C6h ; Pour la dur‚e de l'initialisation, on va ‚teindre la + xor al,al ; palette de fa‡on … ce que l'utilisateur ne subisse pas + out dx,al ; nos triturations. + + mov dx,3C4h ; Nous allons demander au registre TIMING SEQUENCER de + mov ax,0604h ; passer dans le mode "Unchained" (mode X), sans g‚rer de + out dx,ax ; parit‚, et un accŠs aux 256Ko de la carte vid‚o. + mov ax,0100h ; On va ensuite enclencher le reset synchrone du registre + out dx,ax ; TS car on s'apprˆte … jouer avec les registres. + + mov al,01h ; De la mˆme fa‡on que pour la palette, on demande … la + out dx,al ; carte vid‚o de ne plus scruter la m‚moire pour + inc dx ; afficher son contenu. Ainsi, c'est une fa‡on de plus + in al,dx ; d'‚viter l'affichage parasite qui arrive le temps que + mov ah,al ; le mode soit totalement initialis‚ et stabilis‚. + mov al,01h ; De plus, on peut esp‚rer qu'en demandant un arrˆt de + push ax ; la lecture de la m‚moire, le systŠme s'en voit un peu + mov al,ah ; acc‚l‚r‚, et ainsi acc‚l‚rer l'initialisation du mode + or al,20h ; graphique (l'espoir fait vivre :)) + out dx,al ; + + mov esi,X_ptr ; Pointeur sur la liste des constantes … envoyer au CRTC. + cld + + lodsb ; Ceci charge dans AL une valeur qui nous dira quoi faire + ; avec le registre MISCELLANEOUS, et incr‚mente ESI. + ; La valeur est ‚gale … ZERO => Rien … faire + ; sinon => Envoyer AL au reg. MISC. + + or al,al ; Devons nous modifier le mode vid‚o de base ? + jz NonMerci ; Non?Ä¿ En fait, la r‚ponse est toujours "Oui". + mov dx,3C2h ; ³ Sauf pour quelques modes tels que le + out dx,al ; ³ 320x200 en Mode X + NonMerci: ; <ÄÄÄÄÙ (mais notre mode 320x200 est en MCGA...) + + mov dx,3C4h ; On en a termin‚ avec les manipulations du registre + mov ax,0300h ; MISCELLANEOUS, on peut maintenant d‚senclencher le + out dx,ax ; reset synchrone du registre TIMING SEQUENCER. + + ; Et maintenant, si on jouait avec le CRTC? + + mov dx,3D4h ; Dans le 18Šme registre du CRTC, on va d‚senclencher le + mov al,11h ; bit de protection. Sans cela, les valeurs que nous + out dx,al ; aurions envoy‚es aux registres du CRTC auraient ‚t‚ + inc dx ; ignor‚es. + in al,dx + and al,7Fh + out dx,al + + dec dx ; DX pointe … nouveau sur "l'entr‚e" du registre CRTC. + lodsb ; Ceci met dans AL le nombre de registres CRTC … changer + xor ecx,ecx ; On doit nettoyer ECX avant de commencer … r‚p‚ter... + mov cl,al ; ...CL (AL) fois OUTSW + rep outsw ; On peut envoyer la sauce aux registres du CRTC! + + ; Juste au cas o— le 20Šme registre CRTC aurait ‚t‚ oubli‚ dans la table + ; d'initialisation, on peut le calculer nous-mˆmes (Ouaip, on est des + ; braves gars). + + mov ax,Screen_width ; Vous devez indiquer … la routine quelle est la + shr ax,3 ; largeur de l'‚cran + mov ah,al + mov al,13h + out dx,ax + + mov dx,3C4h ; Maintenant vous avez la bonne r‚solution mais il peut + mov ax,0F02h ; y avoir des pixels pourris … l'‚cran … cause de zones + out dx,ax ; non nettoy‚es de la m‚moire vid‚o. + mov edi,0A0000h ; Donc on va nettoyer la m‚moire … partir de 0A0000h + xor eax,eax ; avec la valeur 0 (qui est le noir standard) et sur une + mov ecx,4000h ; longueur de 4000h dwords (256Ko). + rep stosd ; Allez, liquidez-moi tout ‡a! + + mov dx,3C4h ; On peut redemander … la carte VGA de relire la m‚moire + pop ax ; pour afficher l'‚cran... + out dx,ax ; + mov dx,3C6h ; ... et r‚tablir la palette pour que l'image soit + mov al,0FFh ; visible … l'utilisateur. + out dx,al ; + + + + La table de constantes que vous devez employer est l'une des suivantes: + (Ces tables sont au format C, mais elles peuvent facilement ˆtres employ‚es + dans d'autres langages) + + word X320Y224[] = + { 0x0BA3, 0x6F06, 0xBA07, 0x0008, 0x4109, 0x0810, 0x8A11, 0xBF12, 0x0014, + 0xC715, 0x0416, 0xE317 }; + word X320Y240[] = + { 0x0AE3, 0x0D06, 0x3E07, 0x4109, 0xEA10, 0xAC11, 0xDF12, 0x0014, 0xE715, + 0x0616, 0xE317 }; + word X320Y256[] = + { 0x0CE3, 0x2306, 0xB207, 0x0008, 0x6109, 0x0A10, 0xAC11, 0xFF12, 0x2013, + 0x0014, 0x0715, 0x1A16, 0xE317 }; + word X320Y270[] = + { 0x0BE7, 0x3006, 0xF007, 0x0008, 0x6109, 0x2010, 0xA911, 0x1B12, 0x0014, + 0x1F15, 0x2F16, 0xE317 }; + word X320Y282[] = + { 0x0CE3, 0x6206, 0xF007, 0x6109, 0x310F, 0x3710, 0x8911, 0x3312, 0x2F13, + 0x0014, 0x3C15, 0x5C16, 0xE317 }; + word X320Y300[] = + { 0x0DE3, 0x4606, 0x1F07, 0x0008, 0x4009, 0x3110, 0x8011, 0x2B12, 0x2013, + 0x0014, 0x2F15, 0x4416, 0xE317 }; + word X320Y360[] = + { 0x09E3, 0x4009, 0x8810, 0x8511, 0x6712, 0x2013, 0x0014, 0x6D15, 0xBA16, + 0xE317 }; + word X320Y400[] = + { 0x03E3, 0x4009, 0x0014, 0xE317 }; + word X320Y448[] = + { 0x0BA3, 0x6F06, 0xBA07, 0x0008, 0x4009, 0x0810, 0x8A11, 0xBF12, 0x0014, + 0xC715, 0x0416, 0xE317 }; + word X320Y480[] = + { 0x0AE3, 0x0D06, 0x3E07, 0x4009, 0xEA10, 0xAC11, 0xDF12, 0x0014, 0xE715, + 0x0616 , 0xE317}; + word X320Y512[] = + { 0x0CE3, 0x2306, 0xB207, 0x0008, 0x6009, 0x0A10, 0xAC11, 0xFF12, 0x2013, + 0x0014, 0x0715, 0x1A16, 0xE317 }; + word X320Y540[] = + { 0x0BE7, 0x3006, 0xF007, 0x0008, 0x6009, 0x2010, 0xA911, 0x1B12, 0x0014, + 0x1F15, 0x2F16, 0xE317 }; + word X320Y564[] = + { 0x0CE7, 0x6206, 0xF007, 0x0008, 0x6009, 0x3E10, 0x8911, 0x3312, 0x2013, + 0x0014, 0x3C15, 0x5C16, 0xE317 }; + word X320Y600[] = + { 0x0BE7, 0xBE06, 0xF007, 0x0008, 0x6009, 0x7C10, 0x8C11, 0x5712, 0x0014, + 0x5815, 0x7016, 0xE317 }; + word X360Y200[] = + { 0x09E7, 0x6B00, 0x5901, 0x5A02, 0x8E03, 0x5E04, 0x8A05, 0x2D13, 0x0014, + 0xE317 }; + word X360Y224[] = + { 0x12A7, 0x6B00, 0x5901, 0x5A02, 0x8E03, 0x5E04, 0x8A05, 0x6F06, 0xBA07, + 0x0008, 0x4109, 0x0810, 0x8A11, 0xBF12, 0x2D13, 0x0014, 0xC715, 0x0416, + 0xE317 }; + word X360Y240[] = + { 0x11E7, 0x6B00, 0x5901, 0x5A02, 0x8E03, 0x5E04, 0x8A05, 0x0D06, 0x3E07, + 0x4109, 0xEA10, 0xAC11, 0xDF12, 0x2D13, 0x0014, 0xE715, 0x0616, 0xE317 }; + word X360Y256[] = + { 0x12E7, 0x6B00, 0x5901, 0x5A02, 0x8E03, 0x5E04, 0x8A05, 0x2B06, 0xB207, + 0x0008, 0x6109, 0x0E10, 0xAC11, 0xFF12, 0x2D13, 0x0014, 0x0715, 0x1A16, + 0xE317 }; + word X360Y270[] = + { 0x12E7, 0x6B00, 0x5901, 0x5A02, 0x8E03, 0x5E04, 0x8A05, 0x3006, 0xF007, + 0x0008, 0x6109, 0x2010, 0xA911, 0x1B12, 0x2D13, 0x0014, 0x1F15, 0x2F16, + 0xE317 }; + word X360Y282[] = + { 0x12E7, 0x6B00, 0x5901, 0x5A02, 0x8E03, 0x5E04, 0x8A05, 0x6206, 0xF007, + 0x6109, 0x310F, 0x3710, 0x8911, 0x3312, 0x2D13, 0x0014, 0x3C15, 0x5C16, + 0xE317 }; + word X360Y300[] = + { 0x12E7, 0x6B00, 0x5901, 0x5A02, 0x8E03, 0x5E04, 0x8A05, 0x4606, 0x1F07, + 0x0008, 0x4009, 0x3110, 0x8011, 0x2B12, 0x2D13, 0x0014, 0x2F15, 0x4416, + 0xE317 }; + word X360Y360[] = + { 0x0FE7, 0x6B00, 0x5901, 0x5A02, 0x8E03, 0x5E04, 0x8A05, 0x4009, 0x8810, + 0x8511, 0x6712, 0x2D13, 0x0014, 0x6D15, 0xBA16, 0xE317 }; + word X360Y400[] = + { 0x0AE7, 0x6B00, 0x5901, 0x5A02, 0x8E03, 0x5E04, 0x8A05, 0x4009, 0x2D13, + 0x0014, 0xE317 }; + word X360Y448[] = + { 0x12A7, 0x6B00, 0x5901, 0x5A02, 0x8E03, 0x5E04, 0x8A05, 0x6F06, 0xBA07, + 0x0008, 0x4009, 0x0810, 0x8A11, 0xBF12, 0x2D13, 0x0014, 0xC715, 0x0416, + 0xE317 }; + word X360Y480[] = + { 0x11E7, 0x6B00, 0x5901, 0x5A02, 0x8E03, 0x5E04, 0x8A05, 0x0D06, 0x3E07, + 0x4009, 0xEA10, 0xAC11, 0xDF12, 0x2D13, 0x0014, 0xE715, 0x0616, 0xE317 }; + word X360Y512[] = + { 0x12E7, 0x6B00, 0x5901, 0x5A02, 0x8E03, 0x5E04, 0x8A05, 0x2B06, 0xB207, + 0x0008, 0x6009, 0x0E10, 0xAC11, 0xff12, 0x2D13, 0x0014, 0x0715, 0x1A16, + 0xE317 }; + word X360Y540[] = + { 0x12E7, 0x6B00, 0x5901, 0x5A02, 0x8E03, 0x5E04, 0x8A05, 0x3006, 0xF007, + 0x0008, 0x6009, 0x2010, 0xA911, 0x1B12, 0x2D13, 0x0014, 0x1F15, 0x2F16, + 0xE317 }; + word X360Y564[] = + { 0x12EB, 0x6B00, 0x5901, 0x5A02, 0x8E03, 0x5E04, 0x8A05, 0x6206, 0xF007, + 0x0008, 0x6009, 0x3E10, 0x8911, 0x3312, 0x2D13, 0x0014, 0x3C15, 0x5C16, + 0xE317 }; + word X360Y600[] = + { 0x12E7, 0x6B00, 0x5901, 0x5A02, 0x8E03, 0x5E04, 0x8A05, 0xBE06, 0xF007, + 0x0008, 0x6009, 0x7C10, 0x8C11, 0x5712, 0x2D13, 0x0014, 0x5815, 0x7016, + 0xE317 }; + word X400Y200[] = + { 0x09E7, 0x7100, 0x6301, 0x6402, 0x9203, 0x6604, 0x8205, 0x3213, 0x0014, + 0xE317 }; + word X400Y224[] = + { 0x12A7, 0x7100, 0x6301, 0x6402, 0x9203, 0x6604, 0x8205, 0x6F06, 0xBA07, + 0x0008, 0x4109, 0x0810, 0x8A11, 0xBF12, 0x3213, 0x0014, 0xC715, 0x0416, + 0xE317 }; + word X400Y240[] = + { 0x12E7, 0x7100, 0x6301, 0x6402, 0x9203, 0x6604, 0x8205, 0x0D06, 0x3E07, + 0x0008, 0x4109, 0xEA10, 0xAC11, 0xDF12, 0x3213, 0x0014, 0xE715, 0x0616, + 0xE317 }; + word X400Y256[] = + { 0x12E7, 0x7100, 0x6301, 0x6402, 0x9203, 0x6604, 0x8205, 0x2B06, 0xB207, + 0x0008, 0x6109, 0x1310, 0xAC11, 0xFF12, 0x3213, 0x0014, 0x0715, 0x1A16, + 0xE317 }; + word X400Y270[] = + { 0x12E7, 0x7100, 0x6301, 0x6402, 0x9203, 0x6604, 0x8205, 0x3006, 0xF007, + 0x0008, 0x6109, 0x2010, 0xA911, 0x1B12, 0x3213, 0x0014, 0x1F15, 0x2F16, + 0xE317 }; + word X400Y282[] = + { 0x12E7, 0x7100, 0x6301, 0x6402, 0x9203, 0x6604, 0x8205, 0x6206, 0xF007, + 0x6109, 0x310F, 0x3710, 0x8911, 0x3312, 0x3213, 0x0014, 0x3C15, 0x5C16, + 0xE317 }; + word X400Y300[] = + { 0x12E7, 0x7100, 0x6301, 0x6402, 0x9203, 0x6604, 0x8205, 0x4606, 0x1F07, + 0x0008, 0x4009, 0x3110, 0x8011, 0x2B12, 0x3213, 0x0014, 0x2F15, 0x4416, + 0xE317 }; + word X400Y360[] = + { 0x0FE7, 0x7100, 0x6301, 0x6402, 0x9203, 0x6604, 0x8205, 0x4009, 0x8810, + 0x8511, 0x6712, 0x3213, 0x0014, 0x6D15, 0xBA16, 0xE317 }; + word X400Y400[] = + { 0x0AE7, 0x7100, 0x6301, 0x6402, 0x9203, 0x6604, 0x8205, 0x4009, 0x3213, + 0x0014, 0xE317 }; + word X400Y448[] = + { 0x12A7, 0x7100, 0x6301, 0x6402, 0x9203, 0x6604, 0x8205, 0x6F06, 0xBA07, + 0x0008, 0x4009, 0x0810, 0x8A11, 0xBF12, 0x3213, 0x0014, 0xC715, 0x0416, + 0xE317 }; + word X400Y480[] = + { 0x11E7, 0x7100, 0x6301, 0x6402, 0x9203, 0x6604, 0x8205, 0x0D06, 0x3E07, + 0x4009, 0xEA10, 0xAC11, 0xDF12, 0x3213, 0x0014, 0xE715, 0x0616, 0xE317 }; + word X400Y512[] = + { 0x12E7, 0x7100, 0x6301, 0x6402, 0x9203, 0x6604, 0x8205, 0x2B06, 0xB207, + 0x0008, 0x6009, 0x1310, 0xAC11, 0xFF12, 0x3213, 0x0014, 0x0715, 0x1A16, + 0xE317 }; + word X400Y540[] = + { 0x12E7, 0x7100, 0x6301, 0x6402, 0x9203, 0x6604, 0x8205, 0x3006, 0xF007, + 0x0008, 0x6009, 0x2010, 0xA911, 0x1B12, 0x3213, 0x0014, 0x1F15, 0x2F16, + 0xE317 }; + word X400Y564[] = + { 0x12EB, 0x7100, 0x6301, 0x6402, 0x9203, 0x6604, 0x8205, 0x6206, 0xF007, + 0x0008, 0x6009, 0x3E10, 0x8911, 0x3312, 0x3213, 0x0014, 0x3C15, 0x5C16, + 0xE317 }; + word X400Y600[] = + { 0x12E7, 0x7100, 0x6301, 0x6402, 0x9203, 0x6604, 0x8205, 0xBE06, 0xF007, + 0x0008, 0x6009, 0x7C10, 0x8C11, 0x5712, 0x3213, 0x0014, 0x5815, 0x7016, + 0xE317 }; + + + La structure: (exemple) + + ÚÄÄÄÄCeci est le nombre de valeurs … envoyer aux registres CRTC. C'est + ³ en fait le nombre de words dans la table moins 1 (… cause du 1er + ³ word de la table qui n'est pas envoy‚ au CRTC mais qui contient + ³ une valeur … envoyer au registre MISCELLANEOUS et le nombre de + ³ valeurs … envoyer aux registres CRTC ;) ). + ³ + ³ ÚÄÄCeci est la valeur … envoyer au registre MISCELLANEOUS (ou 0 si + ³ ³ aucune valeur ne doit y ˆtre envoy‚e). + ³ ³ + ³ ³ ÚÄÄÄCeci est une valeur … envoyer dans un registre du CRTC. + ³ ³ ³ + ³ ³ ³ ÚÄCeci est le num‚ro du registre du CRTC qui recevra la + ³ ³ ³ ³ valeur cit‚e pr‚c‚demment. + ÿÿ ÿÿ + { 0x0AE3, 0x0D06, 0x3E07, 0x4109, 0xEA10, 0xAC11, 0xDF12, 0x0014, 0xE715, + 0x0616, 0xE317 }; + + Vous pouvez remarquer que les registres 0 … 5 (et le 13h) du CRTC + d‚finissent la largeur de l'‚cran, alors que les registres 6 … 17h (… + l'exception du 13h) definissent la hauteur de l'‚cran. + + + Nous avons plus de modes en poche que les quelques-uns :) que nous avons + inclus dans GrafX 2.00, mais ils ne sont ni vraiment utiles ni vraiment + stables. Nous pourrons toutefois d‚cider de les inclure dans une prochaine + version. + S'il manque certains de vos modes pr‚f‚res, envoyez nous simplement la + liste des constantes que l'on doit balancer au CRTC … la maniŠre de la + structure utilis‚e ci-dessus. + + IMPORTANT! Les valeurs des constantes cit‚es plus haut ne sont pas + support‚es par tous les moniteurs ou les cartes vid‚os. + Nous avons test‚ GrafX2 avec diff‚rentes configurations et avons + constat‚s que certains modes ne marchent pas du tout avec + certaines cartes vid‚os, alors que d'autres d‚bordent de l'‚cran, + sont d‚centr‚s, assombris, trop clairs, ou tass‚s. + Toutefois, ils marchent tous correctement avec notre pauvre + petite Tseng Labs ET4000... + + Si vous avez d‚j… une bonne connaissance … propos du CRTC, et avez des + valeurs diff‚rentes des notres pour certains modes, merci de nous en + informer. Nous nous en servirons s'ils marchent mieux sur une majorit‚ + d'ordinateurs. + + + +VESA: (Un "pseudo-standard" pour les modes Super-VGA) +ÍÍÍÍÍ + + Nous nous servons du VESA pour des modes qui n‚cessitent une largeur de + 640, 800 ou 1024 pixels. Mais il existe un moyen de combiner la hauteur des + Modes X avec les modes VESA, il est ainsi possible d'avoir des modes aussi + timbr‚s qu'en Mode X. + + + mov ax,4F02h + mov bx,Video_mode + int 10h + + + Les modes VESA 256 couleur VESA sont: + 100h : 640x400 + 101h : 640x480 + 103h : 800x600 + 105h : 1024x768 + 107h : 1280x1024 (non disponible dans GrafX2 parce qu'uniquement support‚ + par des cartes vid‚o avec 2 Megaoctets ou plus de m‚moire + vid‚o) + + + Comme avec les Modes X, vous pouvez modifier les registres CRTC pour acc‚der + aux modes "VESA-X"! (Notez que certaines cartes vid‚o ne supportent pas les + modifications des registres du CRTC VGA dans les modes VESA.) + + + Pour passer dans ces modes ‚tendus, passez dans un mode VESA standard ayant + la bonne largeur, puis appelez Modif_registres_CRTC avec la bonne table de + hauteur. + + Exemple (640x512) : + VESA_Set_mode(101h) // On passe dans un mode qui a la mˆme largeur + Modif_registres_CRTC(Y512) // On modifie la hauteur + + + * Tables des hauteurs: + + word Y224[] = + { 0x09A3, 0x6F06, 0xBA07, 0x0008, 0x4109, 0x0810, 0x8A11, 0xBF12, 0xC715, + 0x0416 }; + word Y240[] = + { 0x09E3, 0x0D06, 0x3E07, 0x0008, 0x4109, 0xEA10, 0xAC11, 0xDF12, 0xE715, + 0x0616 }; + word Y256[] = + { 0x0900, 0x2B06, 0xB207, 0x0008, 0x6109, 0x0A10, 0xAC11, 0xFF12, 0x0715, + 0x1A16 }; + word Y270[] = + { 0x09E7, 0x3006, 0xF007, 0x0008, 0x6109, 0x2010, 0xA911, 0x1B12, 0x1F15, + 0x2F16 }; + word Y282[] = + { 0x0AE3, 0x6206, 0xF007, 0x0008, 0x6109, 0x310F, 0x3710, 0x8911, 0x3312, + 0x3C15, 0x5C16 }; + word Y300[] = + { 0x09E3, 0x4606, 0x1F07, 0x0008, 0x4009, 0x3110, 0x8011, 0x2B12, 0x2F15, + 0x4416 }; + word Y350[] = + { 0x09A3, 0xBF06, 0x1F07, 0x0008, 0x4009, 0x8310, 0x8511, 0x5D12, 0x6315, + 0xBA16 }; + word Y360[] = + { 0x07E3, 0x0008, 0x4009, 0x8810, 0x8511, 0x6712, 0x6D15, 0xBA16 }; + word Y400[] = + { 0x01E3, 0x4009 }; + word Y448[] = + { 0x09A3, 0x6F06, 0xBA07, 0x0008, 0x4009, 0x0810, 0x8A11, 0xBF12, 0xC715, + 0x0416 }; + word Y480[] = + { 0x09E3, 0x0D06, 0x3E07, 0x0008, 0x4009, 0xEA10, 0xAC11, 0xDF12, 0xE715, + 0x0616 }; + word Y512[] = + { 0x0900, 0x2B06, 0xB207, 0x0008, 0x6009, 0x0A10, 0xAC11, 0xFF12, 0x0715, + 0x1A16 }; + word Y540[] = + { 0x09E7, 0x3006, 0xF007, 0x0008, 0x6009, 0x2010, 0xA911, 0x1B12, 0x1F15, + 0x2F16 }; + word Y564[] = + { 0x09E7, 0x6206, 0xF007, 0x0008, 0x6009, 0x3E10, 0x8911, 0x3312, 0x3C15, + 0x5C16 }; + word Y600[] = + { 0x09E7, 0xBE06, 0xF007, 0x0008, 0x6009, 0x7C10, 0x8C11, 0x5712, 0x5815, + 0x7016 }; + + + + Modifier les registres CRTC: (inspir‚ de l'init. des Modes X... voir plus + ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ haut pour de plus amples d‚tails) + + mov esi,XVESA_Ptr + cld + + lodsb + or al,al ; Devons nous modifier le mode vid‚o de base ? + jz NonMerci ; Non?Ä¿ La r‚ponse peut ˆtre "Non" car les initialisations + mov dx,3C2h ; ³ de certains modes VESA mettent directement la + out dx,al ; ³ bonne valeur pour le registre MISCELLANEOUS. + NonMerci: ; <ÄÄÄÄÙ + + mov dx,3D4h + mov al,11h + out dx,al + inc dx + in al,dx + and al,7Fh + out dx,al + + dec dx + lodsb + xor ecx,ecx + mov cl,al + rep outsw + + + + Si vous ˆtes suffisament astucieux, vous pourrez combiner les constantes + utilis‚es dans les Modes X pour obtenir plus de modes "VESA-X" tels que le + 640x200, 800x480, etc... (mais je ne pense pas que ‡a marche convenablement + avec les largeurs de 1024 pixels puisque ce mode est g‚n‚ralement + entrelac‚... Mais qui sait?...) + Je pense que le plus difficile est de trouver la bonne valeur du registre + MISCELLANEOUS. diff --git a/doc/todo.txt b/doc/todo.txt new file mode 100644 index 00000000..e4e608ff --- /dev/null +++ b/doc/todo.txt @@ -0,0 +1,26 @@ +WHAT WE STILL HAVE TO DO TO "COMPLETE" GRAFX 2.00: + + - Rectangles filled with gradation + - Distort brushes + - Allow to use HSB values to define colors. + - FX on the picture (flip, stretch, shrink, ...) + - Text (we hope we'll be able to use TrueType fonts) + - Improve clicks on buttons in the menus (don't block the mouse). + + +OTHER POSSIBLE IMPROVEMENTS: + + - Add "Anti-aliasing" mode. + - Add more drawing modes. + - Support Windows 95 long filenames. + - Add more video modes and fix some others. + - Add PiNG, TIFf, TarGA and JPeG file supports (in our dreams ;)). + - Allow to load more types of truecolor pictures with Dithering or + Floyd/Steinberg color reduction. + - Add Pop-up menus. + - Palette sort. + - ... + - Fix unknown (and known) bugs! :) + + +Note: There is no special order for the things to do listed above.