This README file serves as a history of changes. You will want to read everything I've added to the file since the last release you got. The in- formation at the beginning of this file is more up-to-date than the info at the end, so if you see a contradiction, trust the first thing you read. July 10, 1991 (V1.1 final release) The only changes in this release are that I conditionalized out some code on VMS as mentioned below, fixed the VMS link command, and changed some variables from int to unsigned. If you're not running on VMS, you probably won't need to update from sanity kit 2 if that's what you're running. June 12, 1991 (V1.1 sanity kit 2) I fixed a bunch of problems that got missed in the previous sanity kit, and added ppmtopic.c. It is modified from ppmtopict.c, and you will need PBMPLUS to build it. Don't ask me any questions about it. The usage is fairly well documented in the leading comment, and it builds like any other ppm utility in the PBMPLUS library. I also reworked the colormap code, so maybe HP/Apollo users will have better luck this time. I can only hope, since I have no way to test it here. This kit really should be the same as the final release unless I've yet again missed some major bugs. I have been told that some of the fade effects will kill DECwindows under some versions of VMS. I don't have a complete list, though, so I haven't implemented a work-around. The ones that do it seem to be the ones which use a complex clipping mask. Since transparent mode doesn't kill the ser- ver, though, I'm not sure of the precise cause. I conditionalized out the FINGER fades (fades 17 & 18) on VMS, since they seem to be the only culprits. April 22, 1991 (t1.1-2) I hope that this will be the final field test release of xviewgl V1.1. I have fixed several bugs, added support for .PCX files, fixed the default font, and added a speeded-up (but nowhere near as pretty) version of the sparkle fade as a customization option. That last item was inspired by Patrick Naughton's xgrasp. April 5, 1991 (t1.1-1) This field test inludes: Support for EGA mode, fixed support of POSITION, "special effects" (fades), improved timing code, support of SPREAD, the ability to pause by pressing the space bar, and support for a variety of new commands... March 11, 1991 (v1.0) This is the first full test release of xviewgl, a full interpreter for GRASP animation files. Just type "make" and you will be asked a few questions. Answer them or accept the defaults, and you should get an executable called "xviewgl". On some systems, the first attempt to make may fail. If so, do a "make noansi" followed by "make". These instructions supercede any other instructions later in this file. Note that on systems with older compilers, (e.g. many Sun systems), you will get a lot of incompatible pointer type warnings. These may safely be ignored. During field test, the program was called "xgl". The name was changed to avoid confusion with a Sun product of the same name. You may notice an Imakefile. It is included for those who want it. You will need to run "customize" when you first install the program if you choose to use the Imakefile, since customize sets up a number of conditional compilation sections. the default "make" automatically runs customize. Note also that the imakefile doesn't provide for some of the special targets, including "noansi"... Since you only need to make noansi once, and "customize" does a "make noansi", though, that should not be a problem. There are a number of commands which have not been implemented. If a GL file fails with an "unrecognized video mode", or "unrecognized command", or says it is ignoring a command, then you have run across something that is not implemented. There are three ways to get it implemented: 1. Figure it out, imnplement it yourself, and send me the code so I can include it in the next release. 2. Figure out what the command does and send me a description. 3. Send me an original of the documentation for the command or format. (A copy is acceptable only if the copyright permits duplication.) 4. Send money to the "Let's Get Brad Daniels Better Documentation" fund, so I can figure out all the commands and get them implemented. Proceeds will be used to buy a copy of GRASP. :-) Send me e-mail for my Snail Mail address for the last two options. - Brad Daniels (daniels@bigred.enet.dec.com) Changes in V1.0: Added "ifvideo", "ifmem", and "edge". I'm unsure if "edge" is correct. Let me know if you see a problem. Fixed some memory allocation bugs, and parsing of negative numbers. Also allow for commands on same line as a label. Changes with FT5 More portability enhancements. Improved behavior of customize on Sys V systems. Added "position" command. Added "tile" command. Improved performance of "cycle" command. Added (untested) monochrome support. Changes with FT4 Added a "customize" script. Just say "customize", and it should take care of selecting the appropriate -D options for your system. Added GIF support. Numerous bug fixes and portability enhancements. Now handles proportional fonts correctly (down to the pixel identical w/ the PC.) Added "cycle" command to cycle through colors. This may still be buggy. I think I have transparent mode working. Let me know if it doesn't look right. Still doesn't handle default colors correctly in all cases. Changes with FT2: This release is really what the first release should have been. It fixes a number of stupid mistakes, and adds the de-ansify program to change ANSI style function prototypes and declarations to old style. In order to "de-ansify" your code, make the "noansi"object. Notes for FT1: I have not had a chance to test portability, so I will want feedback on how it works. If there is heavy response, I may not get back to everyone, but I will endeavor to maintain a mailing list to send out info on updates. The code uses some ANSI features which may not be portable to some compilers. Most notably, it makes extensive use of function prototypes and void pointers. The void pointer concern can be fixed by adding "#define void int" to my_types.h. Prototypes are a bit more difficult, but I am working on a short hack program called "unprotoize" which will convert prototype-style declarations to old style. If you need it, send me mail and I will get it to you. If you know of an existing program to do the same thing, let me know and save me some hassle. The next release will include whatever utility I settle on. I have made some minor efforts to provide VMS portability, but I suspect it will still have problems. Most notably, I need to write a specialized "read" routine which will span record boundaries. Also, name parsing is oriented toward Unix-style names, but since VAX C supports such names, that should not be a problem. You may notice that there are no copyright notices in the code. I make no claims on the code, and to the best of my knowledge, neither does anyone else. It is all public domain to the best of my knowledge, but I request that my name and the others mentioned here be left in the code and supporting documentation. I am indebted to Phillip Gladstone who, wrote a monochrome program called xgrasp and let me see his work, and also to George Phillips who did some early work hacking out the formats of the files. Also, I would like to publicly thank Jonathan Ma for his help in my early testing. You will also find pictoppm.c and glcomp.c in this kit. Pictoppm converts .pic files to PPM format, and glcomp will assemble/disassemble .GL libraries. I didn't write either of them, but include them for convenience. *** Note: GLCOMP is called GLUNPACK, because that's what I usually use it *** for... - Brad Daniels (daniels@bigred.enet.dec.com)