Manifest: ReadMe - This File MyGif.c - main prog for my GIF viewer Decoder.c - GIF image-data decoder (not my code) Errs.h, Std.h - header files that came with decoder.c gifcompr.c - Use these together to build a GIF encoder. gifencod.c - The C code came from Tom Friedel's Public Access Unix BBS, thanks Tom! Tom Friedel Public Access Unix BBS tpf@prism.gatech.edu ...gatech!emory!jdyx!tpf (404) 320-7624 (404) 321-5020 MyGif ----- This is my simple GIF viewer, it can decode and display GIF images, but does NOT load the color palette. It is also very slow. Compile it with msc 5.0, and type 'mygif (gif file)'. Should work fine except for the colors (see (1) below). Some ideas for fixing it up: (1) Palette loading since my version was going to be used with my frame-grabber board (800x600 256color GIFs are nice), I didn't write the code to load the palette on the ega/vga/cga systems. The LoadPalette() function in MyGif.c should be written for your system, it is empty for now. (2) Speed Changing the get_byte() function to use buffered i/o speeds up the program immensely - sort of the same buffering used by fread/fprintf/fscanf. Try reading in chunks of 16k-32k at a time from a file, and you will see what I mean. (3) Auto video-mode select Program should set the video mode according to the size of the image. For example, a 16 color 320x200 GIF should be displayed in 16clr, 320x200 mode, not in 16clr 640x400 mode. (4) Menu selection of GIF to display Throw up a menu of all available GIFs, allow user to pick the desired GIF with mouse and/or arrow-keys. Would be nice if the current GIF's stats were displayed as we browse through them. I don't intend to do too much more with this program, I could probably help you with (1) and (2) above, the rest takes more time, and I want to work on my GIF encoder. The file MyGif.c is hereby released by me - Simon Gales - to the public domain. Hack it up as you see fit, even sell it if you can get someone to buy it. No restrictions whatsoever on MyGif.c. Note that my program uses Decoder.c, which is not my code, so see that file or contact the author concerning what you can/can't do with it. To compile MyGif, use Microsoft C version 5.0 (others may work), and say: 'cl mygif.c decoder.c' to produce mygif.exe. To port to other systems: rewrite get_byte(), output_line(), and LoadPalette() in MyGif.c, figure out how to compile yourself :->>.