Uncle Carl's Famous Mouse Cursor Editor ---------- UncleMouse Version 2.07 June 13, 1994 - - - - - - - - - - Uncle Carl's Famous Mouse Cursor Viewer --------- MouseView Version 1.0 June 14, 1994 DISCLAIMER ---------- The author cannot be responsible for any damage to your equipment, other hardware or software products or physical or mental well being caused by the use, misuse, abuse or inability to use these programs. The author also makes no guarantee as to the compatibility of these programs with other software or hardware products. By using these programs you are stating that you completely understand AND agree with these terms AND agree to accept FULL responsibility for ANY and ALL events arising from their implementation. If you do not understand AND agree, do NOT use these programs. UNCLEMOUSE ---------- EXIT ---- Click on the box in the upper left hand corner of the panel to quit. TITLEBAR -------- Within the titlebar are various options which, when clicked, perform the following functions... D - Calls up a DATA menu. FILL: Fills the DATA grid. SWAP: Swaps information between grids. CLEAR: Clears the data grid. D > M: Allows you to either create an exact COPY or an INVERTED copy of the data on the mask grid. C - Allows you to select a color for the data. ARROWS ------ Moves the information on the grid in the direction of the arrow. BACKSLASH / ---------- Rotates the information on the grid. M - The remaining buttons on the titlebar perform the same function (as the data buttons) for the MASK grid. MX/MY ----- These are the X and Y hotspots for the mouse cursor. Clicking on an arrow allows you to scroll this value. ALSO, when you are in TEST mode, an alert will appear when the hot-spot of the cursor hits the letters MX or MY. The "hotspot" is the area of the cursor which must appear over an exit object before a mouse click is recognized. x y location -------------------------------------- 0 0 top left corner 0 15 lower left corner 15 0 top right corner 15 15 lower right corner BLACK & WHITE BOXES ------------------- These are there so you may see what your cursor looks like over a light and dark object. If the data and mask are BOTH black, you will NOT be able to see the cursor within the black box. GRIDS ----- The grid on the left is the DATA grid. The grid on the right is the MASK grid. Point and left click on a grid to draw. Point and right- click on a grid to erase. TEST ---- Click on this button to replace the arrow cursor with your new cursor. Right click to cancel testing. LOAD ---- This button allows you to load an UncleMouse mouse or sprite .CURsor file. SAVE ---- This button calls up an alert which allows you to save one of the following files. o MOUSE.CUR: This type of file contains the cursor shape in both $tring and binary format. This is the file which programs (supporting the .CURsor file format) use to load a custom mouse cursor. o MOUSE.LST: This file contains the source code (in .LST format) of both the cursor shape and the routines needed to employ it within your OWN GFA Basic program. o MOUSE.DAT: This file contains the cursor in bitpattern$ format (the same format as Mouse-Ka-Mania "single frame" MOUSE.DAT files) ONLY. This is also one of the formats supported by Gribnif Software's GENEVAż. o SPRITE.CUR: This type of file contains the cursor shape in both sprite string and binary format (sprite strings are slightly different). This file can be used to load sprites into games supporting this format. o SPRITE.LST: This type of file contains the source code (in .LST format) of both the sprite shape and the routines needed to employ it within your OWN GFA Basic program. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- NOTE: UncleMouse is currently ONLY CAPABLE of creating "2-color" sprites. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- NORMAL/XOR ---------- These two radio buttons allow you to decide the screen status of the cursor (NORMAL against screen or XOR against screen). XOR checks if either of two logical expressions, x and y , is logical TRUE. XOR returns TRUE only when each bit of an argument of the corresponding bit is set.... x y x XOR y ------------------------------- TRUE TRUE FALSE TRUE FALSE TRUE FALSE TRUE TRUE FALSE FALSE FALSE CONVERTING ---------- To convert a .CUR file into any other available format you need merely load the .CUR file and save it to any of the alternate formats ! LOADING *.DAT FORMAT FILES -------------------------- The *.DAT file contains the mouse cursor in bitpattern$ format... bitpattern$= MKI$(x coordinate action point, aka:"hotspot") +MKI$(y coordinate action point) +MKI$(mode) +MKI$(pattern color) +MKI$(mask color) +MKI$(bitpattern of the cursor) It can be loaded into your GFA program by simply loading in the $tring and calling DEFMOUSE mouse$, ex: mouse$=INPUT$(num,#ch) . LOADING *.CUR FORMAT FILES -------------------------- This is really only useful for GFA programmers, although it IS easily adaptable. IF EXIST(path$+"YOURNAME.CUR") @lode.cursor ENDIF PROCEDURE lode.cursor OPEN "I",#1,path$+"YOURNAME.CUR" INPUT #1,dummy$ IF dummy$<>"' Uncle Carl's Famous Mouse Maker ˝Carl J. Hafner" ALERT 3,"This is not a |valid .CUR file...",1," Oops ",lk% GOTO abort.load ENDIF l$=INPUT$(1,#1) <-length of $tring l%=ASC(l$) <-given numeric value m1$=INPUT$(l%,#1) <-load l% of file DEFMOUSE m1$ <-activate cursor abort.load: CLOSE #1 <-REMember to CLOSE the file !!! RETURN You may also use this SAME routine to load a SPRITE with one exception. Instead of calling DEFMOUSE m1$ you must call SPRITE m1$,x,y . If you do NOT specify x and y coordinates the SPRITE will not appear. ALSO, MOUSE.CUR and SPRITE.CUR $tring formats are slightly different. If you load a SPRITE file and call DEFMOUSE m1$ or vice-versa, the resulting cursor will be disjointed. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Refer to EXAMPLES.LZH for more detailed information. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- MAUSVIEW.PRG ------------ This is a "very basic" utility from which you can load and view .CUR files and .DAT files. I use it to audition cursors for GENEVAż. Run the program... Click on .CUR or .DAT to load the appropriate cursor file. The cursor will be installed (if it's valid) immediately and will remain until you click a mouse button. The .CUR or .DAT button will also remain selected to indicate that the program is in "viewing" mode. Click on quit to exit the program. Since .DAT files have no means of identification, MausView will NOT be able to detect if the .DAT file is a valid mouse cursor file. CREDITS ------- Thanks to Larry D. Duke for TT compatibility and for his invaluable assistance in resolving the file compatibility issue. .CURsor file format created by Carl J. Hafner & Larry D. Duke. UncleMouse, MouseViewer ˝ Carl J. Hafner. GENEVAż ˝ Gribnif Software MOUSE-KA-MANIA ˝ Charles F. Johnson & Little Green Footballs GEM is a registered trademark of Digital Research. VERSION HISTORY --------------- 2.07 - Added .DAT file compatibility. 2.06 - Complete redesign. Now supports ALL resolutions. 2.05 - Added SPRITE support. 2.0 - Added buttons for scrolling,filling,clearing,swapping. 1.05 - Came up with work around for GFA CHR$(10) bug. 1.0a - GFA Basic has a bug which issues a "line feed" of sorts when you try to write CHR$(10) to a file. Until this is resolved, UncleMouse will convert this character in the .CURsor file to CHR$(11). This may or may not have an adverse affect on the final cursors appearance (I haven't noticed any). An alert will appear if this character is detected. 1.0 - Original version. DISTRIBUTION ------------ Starting with version 2.06, UncleMouse is Freeware...NOT public domain. This means that you are free to use it without obligation but it STILL remains the property of the author. You are free to copy and distribute the UncleMouse package as long as the files... CARLMAUS.PRG - The program. CARLMAUS.TXT - This text file. OTHERTTL.LZH - Current titles, terms, stuff like that... DEFMOUS(0-7).CUR - 8 GEM cursor files. MOUSECUR.TXT - Read this BEFORE extracting the following files... MOUSECUR.LZH - 34 mouse CURsor files. ALPHACUR.LZH - 26 mouse CURsor files. ALPHADAT.LZH - 26 mouse cursor files in .DAT format MAUSDAT1.LZH - 8 GEM cursor files in .DAT format. MAUSDAT2.LZH - 34 mouse cursor files in .DAT format. EXAMPLES.TXT - Read this BEFORE extracting EXAMPLES.LZH EXAMPLES.LZH - Sample code. MAUSVIEW.PRG - The cursor viewing utility. AND their CONTENTS are included, are NOT modified in ANY way and NO FEE of ANY type is incurred upon the recipient for the files _themselves_. COMPATIBILITY ------------- This redesign has been tested on an STf with TOS 1.2 and an STe with TOS 1.06 in low, medium and high resolutions. It has also been tested in virtual and interlaced resolutions of 320 x 480 (TT LOW),640 x 480 (TT MEDIUM) and 1280 x 960 (TT HIGH). The program performed as intended under all of these conditions, however... This program needs to access certain Line A Variables in order to manipulate the "grids". When Atari dropped Line A support in favor of the VDI it neglected to include ALL of the functions available from within the Line A Variables. In other words, the VDI is incomplete. If you have a TT030 and the "point and click" options won't draw properly, don't worry. I understand that there is a patch program (specifically for the TT) which restores the information Atari forgot? to include. I also have no idea whether or not this program will work on a Falcon 030 (for the same reason). If I don't hear anything I'll assume it works. If it doesn't work it's because YOU didn't tell me about it !-) . Julian F. Reschke's "BigScreen" v.1.0 was used to emulate the various resolutions.