home *** CD-ROM | disk | FTP | other *** search
- Table of contents
-
- A. Introduction
- B. Setup
- C. Drawing
- D. Using menus
- E. Requirements
- F. Next generation
-
-
- A. Introduction
-
- Welcome in the world of UPRIGHT!. This is the first of many to come
- public release. Huge v1.0 is a powerful tool, in the right hands that is.
- I started developping Huge as a source utility, releiving me of the pain of
- designing and using gadgets and other imagery in my programs. Such a
- program should allow the use of the various display modes that Amiga has,
- and let the user choose the number of colors and the colors themselves.
- This way, the user is free to choose what screen his program is going to
- open in, and design his gadgets knowing from the beginning how the will
- look like. The main goal now is making gadgets look great, making life
- beautiful that is. In the first stages, months ago, the program could only
- draw something and save it in ASCII, in a format that could be inserted in
- a C source program and compiled properly. Then I realised that it was dead
- easy once I had the kernel, to be able to handle any other type of imagery
- Amiga users encounter: icons, sprites, brushes. Huge is able to load any
- kind of these, alter it and save it back, in the same or other format.
- Images and sprites are in fact C source data, the rest are standard Amiga
- formats.
- Huge is able to differenciate between PAL & NTSC Amigas. It takes advan-
- tage of PAL's excess number of display lines to create greater images, so
- Europeans will have higher imagery than the Americans.
-
-
- B. Setup
-
- When the user starts Huge, either from Workbench or CLI, two screens open,
- one for the gadgets and menus, the other for drawing.
- The gadget screen is seperate, so the imagery can survive any user confi-
- guration of colors and resolution. There are two groups of gadgets, those
- for various operations, and those for the drawing tool used. Four menus
- complete the display.
- The drawing screen consists of some color selection gadgets, the zoom
- window and the actual image window.
- If Huge cannot find a preferences file, it defaults editing an image, in
- a HIRES non-interlaced screen with 8 default colors. The type of object
- being edited has nothing to do with the actual drawing, it only affects the
- methods of input and output to disks. The primary selections the user should
- make, are screen mode, palette, and object type. These preferences can be
- saved, so that they don't have to be changed every time the program is run.
-
-
- C. Drawing
-
- Once screen mode and colors are selected, we are ready to begin. Various
- drawing tools are available: points, lines, boxes, circles, ellipses and
- connected lines. Just select the gadget and you got the corresponding tool.
- Coordinates for drawing can be input either from the zoom window or the
- image window. Only for points zoom is updated immediately, in the other
- cases zoom is updated after the sequence is over. Still coordinates can be
- input in zoom window, only the drawing is temporarily invisible. All tools
- behave as in every drawing program. Note that circle radious is decided only
- by the vertical distance from the center. Right mouse button is used to
- indicate end of a line in the connected lines tool.
- The color used can be altered by hitting a color gadget. The deeper the
- screen, the more colors you get. For screens with few colors, a primitive
- dithering technique can be used (in fact checkered). Selecting background
- color from the special menu, and setting pattern active gives this ability.
- This mixed color is used in every line, point or fill operation, until
- another color combination is selected, or the pattern mode is made inactive.
- A little bug here, circles and ellipses don't comply to pattern, they just
- use foreground color instead. Well, that's Amiga's bug, note Huge's.
- The zoom window initially magnifies the upper left corner of the image.
- Selecting the magnify operation gadget, enables you to alter the spot which
- is currently magnified. A small box appears in the image window, whose size
- reflects the magnify ratio. Use the pointer to alter it's position and
- click the left mouse button. The new position is now established. Again,
- coordinates can be input either in zoom or in image window.
- Huge has got text editors' capabilities of cutting and pasting. Use cut
- operation gadget to define a rectangla area: first select the upper left
- position and then the cut size. Selection is done in the same way as for
- zoom window. This rectangle is copied to the clip buffer, and can be after-
- wards pasted any number of times, until something new is cut. You can paste
- this in the same image, or in the image behind it. Well, now you heard a new
- thing, 'the image behind the image'. The lower right operation gadget rese-
- mbles the front-back gadget of an intuition window, but in this program is
- used to bring up the 'other image'. In this way they don't have to be
- simultaneously present, increasing the available space for drawing. The
- second image is necessary for icons with alternate image, or simply as a
- backup area for comparisons, or whatever you like. So the clipped rectangle
- can be pasted to either one of the images, even to an image loaded later,
- provided that screen mode hasn't been changed.
- There are various paste modes, activated from the special menu item
- 'Paste mode'. Jam #2 completely overwrites the paste over the image, and
- inverse video does the same, inverting the paste colors. Jam #1, and
- Complement are nasty; the certain thing is that the background (color 0) of
- the paste, will not harm the image, but the rest colors are difficult to
- predict. In general, they will be different than any of the paste's or
- image's, but anyway some good results can be achieved.
- The fill operation gadget, flood fills the image with whatever color or
- pattern is selected. You are asked to input a point, the center of the
- flood fill. Again you select the point by clicking where you want. The zoom
- window is particularly useful for small areas.
- The palette operation gadget is pretty obvious, and tha strange looking
- next to it is to bring Workbench in front for whatever you like it to.
- In the second row of operation gadgets there are two mirrors, left-right
- and up-down and two rotators, anti-clockwise and clockwise. Every operation
- expects a rectangle area to be input first, like in cutting, and then acts
- on it. The rotated version will have common the upper left corner with the
- original. Note that when there is difference between vertical and horizontal
- screen resolution, the rotated version will be a bit stretched. Best results
- are achieved in full-HIRES mode or in full-LORES, when resolutions are same.
- Finally the undo gadget does that. There is no possibility of un-undo,
- once you undo you can't get back to what you had.
-
-
- D. Using menus
-
- Till this point you have heard many things about menus, now the rest will
- be explained. Let's start from the beginning.
-
- a. Project menu
- Here object is selected, as well as input and output to drives.
- When some objects (ie. icons and sprites) are selected, the screen mode
- may have to change. That is because icons are to be seen in Workbench screen
- (HIRES, non interlaced) and sprites are always displayed in full LORES. Thus
- if screen mode is different than these, there won't be any relation between
- what you see when you draw and what you see when you use it. The rest objects
- put no restictions in screen mode. The brush object is mainly included to
- load brushes, designed by a heavy paint program and use it as an icon or
- image. Still brushes can be saved, but I don't think there will be users
- making brushes out of this program. Finally the bob object is tricky; you
- cannot select it, because it doesn't exsist as far as Huge is concerned. I
- couldn't make out the Bob (used by AmigaBASIC) format, it is only there for
- the second version of this editor.
- The object selected decides the method of loading and saving. Whatever
- object is selected, that format is expected by the loader, who will com-
- plaint otherways, and the saver.
- Now we come to the main attraction of this program, the OS input-output
- routines. I dare to say that they are simply a masterpiece, and by far the
- most difficult task I had to complete in this program. Huge maintains and
- updates internally, lists of every device, assigned directory and volume of
- the Amiga. It can tell if a volume is mounted or write protected, or if a
- drive is empty. I assure you that unless you do something extremely stange,
- you will never see an OS requester, and this is all for the better because
- they are very ugly. Instead a fine scrolling message will inform you of what
- is going on.
- The loader permits you to enter input while reading. It functions as every
- other loader you have seen on Amiga, but it is the prettiest of all. Thanks
- to newtec for the idea, but guys I went a lot further.
- The directory that input and output takes place, is initially that which
- contains Huge, in the progress can be altered by loader or saver, or even
- evaporate. So if sometime you enter a name in 'save as ' and the screen
- flashes, provide a full path instead, for the program has no directory.
- In order to save something first you have to enter a valid filename, and
- if all is OK, select in the usual way the portion of the image to save.
-
- b. Preferences menu
- You can alter the screen mode with this menu. When you select the screen
- mode item, a requester appears, from which you can select resolution and
- number of colors. The number of colors is decided by the depth gadgets, get
- deeper for more colors. The formula is
- colors = 2 ^ depth
- that is an increase in depth by one, doubles the colors available. The
- 'WB mode' option gives you a standard workbench for editing icons, or
- whatever you like to open in the workbench screen. When you are through
- selecting click OK gadget, or CANCEL to exit. Almost every selection has
- these two gadgets, OK in the top left corner and CANCEL next to it. The
- drawing screen is completely reset, so you had better save all you have
- drawn before. If you forget, Huge will tell you. If the current object that
- is edited is icon or sprite, the screen mode cannot be changed, for the
- reasons I explained, so if you want WB mode, first select it by setting an
- object (temporarily) that permits screen changes, and then change object to
- icon.
- Next are some items for opening and closing Workbench screen when possible
- for memory conservation purposes.
- Images and sprites (C source) are saved without any palette information,
- so a programmer will need the palette registers as well as the image data.
- There is a save palette option for that, and a load palette, if you want
- another palette. Again the format can be understood by any C compiler. In
- the case of sprites, keep in mind that sprites use color registers 16 and
- further up, so the for colors saved must be entered in the proper registers.
- Also the fourth colour is transparent, no matter what you see in the editor.
- Save preferences can be used to save the current preferences, and use them
- as default the next time. Preferences include object edited, screen
- resolution and depth, and finally palette. The preferences file is named
- 'huge.preferences' and must be in the same directory as the program. Note
- that if you choose 'Save preferences' and you have changed the initial
- directory by any means, the preferences file will be written there, and not
- in the initial directory. This call only checks if Huge has a directory not
- write protected and saves, else beeps. Whenever you see a beep, something
- went wrong.
-
- c. Icon menu
- This menu is active only when the object selected is icon. You can specify
- various icons characteristics as in any icon editor. Note that if Image is
- selected for highlighting, then the visible image is saved as primary icon
- and the hidden as secondary (selected) icon.
-
- d. Special menu
- Here there are various special effects.
- Background color, lets the user select the background color which is used
- for pattern line drawing and filling, when pattern mode is on. Once you se-
- lect this item nothing is done, but the next time you choose a color gadget
- this will be interpreted as the background color. If pattern mode is active,
- this will be used as the background of images and fills.
- Pattern active item is toggle select, you can turn it on and off. It's
- initial state is off. When it is on, drawing routines use a 0xaaaa pattern,
- if this means anything to you, or with other words one pixel is with fore-
- graound color, the other is with background color. When this mode is active
- you can select and change the foreground color, as in normal mode, but if
- you want to change the background color, you have to select the previous
- item.
- I have already explained the use of paste mode. The last item, grid color,
- is something like background color, ie. once you select it nothing happens
- and the next color you select doesn't become foreground color, but the grid
- lines are redrawn in this color. Normally Huge uses the last color for grid
- lines, but sometimes this color ruins the display.
-
-
- F. Requirements
-
- Huge, as any other program involving screens is memory hungry. If the
- program exits with no obvious reason, there was a memory allocation error
- while trying to find screen memory. Closing Workbench is a good idea, or
- switching off any external drives.
- For the icon stuff to work, icon.library must be in the current libs:
- directory, otherways Huge won't run.
- Finally I observed that when FastFonts is installed, the scrolling mes-
- sages get jerky. If you get jerky scrollings, check your startup-sequence
- for FF. If this is the case, run FF -n from CLI and the scroll will be fine.
- I didn't check the scroll with the old agnus chip (I have an A2000 with
- FAT agnus), so if anybody with old agnus gets any jerky scrolls, let me
- know.
-
-
- F. Next generation
-
- This program is great, but it can get better. Possible improvements I have
- in mind are ability of entering text, improved palette (copy colors, make
- shades), and yet more objects, like some format AMOS can understand. I know
- AMOS has a sprite editor, but it is comparatively small, and how can one
- design a Huge end of level guardian?. Finally some modes for assembly lan-
- guage source files. The numbers themselves are the same as for C, but they
- need some format manipulation, so assemblers will understand them.
- Please let me know your opinions, bug reports, and praises. I don't ask
- for money, just the fame. I want to have people drinking in my name.
- Using Huge properly will improve the looks of the new programs to come,
- designing beautiful gadgets, as these in Huge. No wonder that they were made
- with the program itself. Make life beautiful.
-
- UPRIGHT!
- 5 Gregoriou E St.,
- GR 54 248 THESSALONIKI
- GREECE
-
- Tuesday 27 November 1990
-