Newsgroups: comp.sources.misc From: jim@wucs1.wustl.edu (James William Studt) Subject: v27i022: xtink - tinkbell for X systems, Part01/01 Message-ID: <1992Jan3.024653.1299@sparky.imd.sterling.com> X-Md4-Signature: 7c3574e7fb9f4a147e2d3ba93fc3b399 Date: Fri, 3 Jan 1992 02:46:53 GMT Approved: kent@sparky.imd.sterling.com Submitted-by: jim@wucs1.wustl.edu (James William Studt) Posting-number: Volume 27, Issue 22 Archive-name: xtink/part01 Environment: X11, Ultrix/RISC, SunOS, VMS This is a program which places Tinkerbell in your X display. She flutters about trying to harass your pointer and generally acting like a fairie. It runs on VMS, Ultrix/RISC, and SUN/OS. It probably runs on a lot of other platforms as well, but I've only tested these. (The only tricky part is a 20 millisecond timer.) Enjoy... - jim studt wandering programmer -------------------- #!/bin/sh # to extract, remove the header and type "sh filename" if `test ! -d ./tink` then mkdir ./tink echo "mkdir ./tink" fi if `test ! -s ./tink/tink.c` then echo "writing ./tink/tink.c" cat > ./tink/tink.c << '\End\Of\Shar\' /* ** Tink is an imprisonment of Tinkerbell from the well known story. She flies ** around on your 8 bit pseudocolor X display, avoiding walls and trying to ** steal your pointer. She does not interfere with the screen, although your ** programs might interfere with her. (If another program does a 'CopyArea' on ** a spot where she is located, then she will be copied until she goes by and ** erases it.) ** ** She will not grab the pointer while a button is pressed. If you press a ** button while she has grabbed the pointer then she will die. You can jerk ** the pointer away from her if you need it. ** ** Tink on a Vax VMS system uses about 1.0 MIPS worth of your computer. This ** is virtually all in X. Because of the way Tink operates, she is almost ** never tagged with a clock tick, as such she doesn't really show up as a ** system load, but she is there. ** ** Tink uses 16k pixels of Pixmap storage and 128 colors from your display. ** ** I'm afraid I could only test this on VMS and Ultrix/RISC. I checked our ** AT&T SVR3 manuals and didn't find a suitable function for waiting 20 ** milliseconds, so there is no support for system V. NeXT folks may want ** to use 'microsleep'. ** ** A build command may look something like... ** ** cc -o tink tink.c -lX11 -lm ** ** or perhaps... ** ** $ define X11 DECW$INCLUDE ** $ cc tink ** $ link tink,sys$input/opt ** sys$share:decw$xlibshr/share ** sys$share:vaxcrtl/share ** ctrl-Z ** $ ** ** if you don't know which to use, then you probably shouldn't be doing ** it anyway. ** ** Tink is a product of: ** ** The Department of Nifty Stuff ** <> ** ** Tink may be used by anyone for any purpose at anytime for any reason. ** */ #include #include #include #include #include #ifndef VMS #include #include static void DummyFunc() { } #endif #include "tink_n_0.xbm" #include "tink_n_1.xbm" #include "tink_ne_0.xbm" #include "tink_ne_1.xbm" #include "tink_e_0.xbm" #include "tink_e_1.xbm" #include "tink_se_0.xbm" #include "tink_se_1.xbm" #include "tink_s_0.xbm" #include "tink_s_1.xbm" #include "tink_sw_0.xbm" #include "tink_sw_1.xbm" #include "tink_w_0.xbm" #include "tink_w_1.xbm" #include "tink_nw_0.xbm" #include "tink_nw_1.xbm" #define PLANES 1 #define TSIZE 32 main() { Display *dp=0; Window w = 0; int wid,hgt; XColor color[256]; int colorIndicies[256]; int colors; int cmap; int screen=0; int mask; float tinkX,tinkY,tinkDX,tinkDY,tinkDDX,tinkDDY; GC eraseGC,whiteGC; float gravCoef = 2000; float dragCoef = 0.00005; int grabbedPointer = 0; float pointerDropProb = 0.975; float wallRepulseCoef = 1000; float freqCoef = 10.0; float cyclicCoef = 0.25; float realPhase = 0; float dPhase = 0.2; int phase,oldPhase; Pixmap pm[8][2]; int rotation=0; int t = 0; /* ** open the default display */ dp = XOpenDisplay(0); if ( dp==0) { printf("Unable to open display.\n"); return; } /* ** get the screen, size, root window, and color map. Turn off any event ** notification which we might be getting. */ screen = XDefaultScreen(dp); wid = DisplayWidth(dp,screen); hgt = DisplayHeight(dp,screen); w = XDefaultRootWindow(dp); cmap = XDefaultColormap(dp,screen); XSelectInput(dp,w,0); /* ** allocate all of the free colors, we'll give a bunch back later. */ colors = 0; if (XAllocColorCells(dp,cmap,0,0,0,colorIndicies+colors,128)) colors += 128; if (XAllocColorCells(dp,cmap,0,0,0,colorIndicies+colors,64)) colors += 64; if (XAllocColorCells(dp,cmap,0,0,0,colorIndicies+colors,32)) colors += 32; if (XAllocColorCells(dp,cmap,0,0,0,colorIndicies+colors,16)) colors += 16; if (XAllocColorCells(dp,cmap,0,0,0,colorIndicies+colors,8)) colors += 8; if (XAllocColorCells(dp,cmap,0,0,0,colorIndicies+colors,4)) colors += 4; if (XAllocColorCells(dp,cmap,0,0,0,colorIndicies+colors,2)) colors += 2; if (XAllocColorCells(dp,cmap,0,0,0,colorIndicies+colors,1)) colors += 1; /* ** figure out which bitplanes are available. An available bit plane has no ** allocated entries who's color index has a 1 in that bit position. */ { unsigned char c[256]; int i,j; unsigned char m; memset(c,1,sizeof(c)); for ( i = 0; i=0; i--) { if ( m&(1< 5.0) { tinkDDX += gravCoef/(m*m) * mx/m; tinkDDY += gravCoef/(m*m) * my/m; grabbedPointer = 0; } else { /* ** if a button is pressed while the pointer is grabbed, then ** tink dies. If a button is pressed, then she will not grab ** then pointer. */ if ( state && ( Button1Mask | Button2Mask | Button3Mask | Button4Mask | Button5Mask)) { if ( grabbedPointer) { XFillRectangle(dp,w,eraseGC,tinkX-TSIZE/2,tinkY-TSIZE/2,TSIZE,TSIZE); XSync(dp,1); return; } grabbedPointer = 0; } else { grabbedPointer = 1; } /* ** randomly drop the pointer. Note: if tink is moving less ** than 5.0 then she will have to drop the pointer more than ** once consecutively to actually lose it. */ if ( (rand()&65535)/65536.0 > pointerDropProb) grabbedPointer = 0; } } /* ** tink doesn't like to hit the walls. She is repelled by the inverse ** square law. I tried just inverse, but she stayed too close to the ** center of the screen. */ tinkDDX += wallRepulseCoef / ((tinkX+5)*(tinkX+5)); tinkDDX -= wallRepulseCoef / ((wid+5-tinkX)*(wid+5-tinkX)); tinkDDY += wallRepulseCoef / ((tinkY+5)*(tinkY+5)); tinkDDY -= wallRepulseCoef / ((hgt+5-tinkY)*(hgt+5-tinkY)); /* ** if tink is willfully accelerating, then point her in the right ** direction. */ if ( tinkDDX!=0.0 || tinkDDY!=0.0) { float a = sqrt(tinkDDX*tinkDDX+tinkDDY*tinkDDY); float rx = tinkDDX/a; float ry = tinkDDY/a; if ( rx > 0.92) rotation = 2; else if ( rx < -0.92) rotation = 6; else if ( ry > 0.92) rotation = 4; else if ( ry < -0.92) rotation = 0; else if ( rx>0) { if ( ry<0) rotation = 1; else rotation = 3; } else { if ( ry>0) rotation = 5; else rotation = 7; } } /* ** adjust tinks velocity by her willful acceleration */ tinkDX += tinkDDX; tinkDY += tinkDDY; /* ** tink 'flutters' as she flies, this is a cyclical acceleration ** perpendicular to her flight path. */ { float a = sqrt( tinkDX*tinkDX + tinkDY*tinkDY); tinkDX += cos(t/freqCoef)*cyclicCoef*(-tinkDY/a); tinkDY += cos(t/freqCoef)*cyclicCoef*(tinkDX/a); } /* ** adjust tink's x and y position. She bounces off of walls when she ** hits them. */ tinkX += tinkDX; if ( tinkX < TSIZE/2 || tinkX > wid-TSIZE/2) { tinkX -= tinkDX; tinkDX *= -1; } tinkY += tinkDY; if ( tinkY < TSIZE/2 || tinkY > hgt-TSIZE/2) { tinkY -= tinkDY; tinkDY *= -1; } /* ** note the new x and y positions. */ nx = tinkX; ny = tinkY; /* ** compute the new phase. */ oldPhase = phase; realPhase += dPhase; if ( realPhase >= 2.0) realPhase -= 2.0; phase = realPhase; /* ** if the image changed then we will update the screen */ if ( nx != ox || ny != oy || phase != oldPhase) { /* ** the pixmaps have a border of at least 7 pixels, so a movement of ** 7.0 or less will not require an erase. */ if ( tinkDX*tinkDX+tinkDY*tinkDY > 7.0*7.0) XFillRectangle(dp,w,eraseGC,ox-TSIZE/2,oy-TSIZE/2,TSIZE,TSIZE); XCopyArea(dp,pm[rotation][phase],w,whiteGC,0,0,TSIZE,TSIZE,nx-TSIZE/2,ny-TSIZE/2); /* ** move the pointer if she has hold of it */ if ( grabbedPointer) { XWarpPointer(dp,None,w,0,0,0,0,nx,ny); } /* ** flush */ XFlush(dp,1); } } } \End\Of\Shar\ else echo "will not over write ./tink/tink.c" fi if `test ! -s ./tink/tink_e_0.xbm` then echo "writing ./tink/tink_e_0.xbm" cat > ./tink/tink_e_0.xbm << '\End\Of\Shar\' #define tink_e_0_width 32 #define tink_e_0_height 32 static char tink_e_0_bits[] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0x9a, 0xff, 0xff, 0xff, 0xca, 0xff, 0xff, 0xf3, 0xd4, 0xff, 0xff, 0x8f, 0x25, 0xff, 0xff, 0x7f, 0x98, 0xfe, 0xff, 0x8f, 0x25, 0xff, 0xff, 0xf3, 0xd4, 0xff, 0xff, 0xff, 0xca, 0xff, 0xff, 0xff, 0x9a, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; \End\Of\Shar\ else echo "will not over write ./tink/tink_e_0.xbm" fi if `test ! -s ./tink/tink_e_1.xbm` then echo "writing ./tink/tink_e_1.xbm" cat > ./tink/tink_e_1.xbm << '\End\Of\Shar\' #define tink_e_1_width 32 #define tink_e_1_height 32 static char tink_e_1_bits[] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x7f, 0xf1, 0xff, 0xff, 0xff, 0xe8, 0xff, 0xff, 0x83, 0x25, 0xff, 0xff, 0x7f, 0x98, 0xfe, 0xff, 0x83, 0x25, 0xff, 0xff, 0xff, 0xe8, 0xff, 0xff, 0x7f, 0xf1, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; \End\Of\Shar\ else echo "will not over write ./tink/tink_e_1.xbm" fi if `test ! -s ./tink/tink_n_0.xbm` then echo "writing ./tink/tink_n_0.xbm" cat > ./tink/tink_n_0.xbm << '\End\Of\Shar\' #define tink_n_0_width 32 #define tink_n_0_height 32 static char tink_n_0_bits[] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x7f, 0xfd, 0xff, 0xff, 0x6f, 0xec, 0xff, 0xff, 0x8f, 0xe2, 0xff, 0xff, 0x5f, 0xf5, 0xff, 0xff, 0x3f, 0xf9, 0xff, 0xff, 0xcf, 0xe6, 0xff, 0xff, 0x37, 0xd8, 0xff, 0xff, 0x8f, 0xe2, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x7f, 0xfd, 0xff, 0xff, 0x7f, 0xfd, 0xff, 0xff, 0x7f, 0xfd, 0xff, 0xff, 0xbf, 0xfb, 0xff, 0xff, 0xbf, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; \End\Of\Shar\ else echo "will not over write ./tink/tink_n_0.xbm" fi if `test ! -s ./tink/tink_n_1.xbm` then echo "writing ./tink/tink_n_1.xbm" cat > ./tink/tink_n_1.xbm << '\End\Of\Shar\' #define tink_n_1_width 32 #define tink_n_1_height 32 static char tink_n_1_bits[] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x7f, 0xfd, 0xff, 0xff, 0x7f, 0xfc, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x3f, 0xf9, 0xff, 0xff, 0x5f, 0xf5, 0xff, 0xff, 0x9f, 0xf2, 0xff, 0xff, 0x1f, 0xf0, 0xff, 0xff, 0xaf, 0xea, 0xff, 0xff, 0xdf, 0xf6, 0xff, 0xff, 0x7f, 0xfd, 0xff, 0xff, 0x7f, 0xfd, 0xff, 0xff, 0x7f, 0xfd, 0xff, 0xff, 0x7f, 0xfd, 0xff, 0xff, 0x7f, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; \End\Of\Shar\ else echo "will not over write ./tink/tink_n_1.xbm" fi if `test ! -s ./tink/tink_ne_0.xbm` then echo "writing ./tink/tink_ne_0.xbm" cat > ./tink/tink_ne_0.xbm << '\End\Of\Shar\' #define tink_ne_0_width 32 #define tink_ne_0_height 32 static char tink_ne_0_bits[] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0x7f, 0xcd, 0xff, 0xff, 0x7f, 0xd5, 0xff, 0xff, 0x1f, 0xe5, 0xff, 0xff, 0x5f, 0xf8, 0xff, 0xff, 0x3f, 0x83, 0xff, 0xff, 0xff, 0xba, 0xff, 0xff, 0x7f, 0xc1, 0xff, 0xff, 0x8f, 0xf5, 0xff, 0xff, 0xb3, 0xf3, 0xff, 0xff, 0xbd, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; \End\Of\Shar\ else echo "will not over write ./tink/tink_ne_0.xbm" fi if `test ! -s ./tink/tink_ne_1.xbm` then echo "writing ./tink/tink_ne_1.xbm" cat > ./tink/tink_ne_1.xbm << '\End\Of\Shar\' #define tink_ne_1_width 32 #define tink_ne_1_height 32 static char tink_ne_1_bits[] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xd7, 0xff, 0xff, 0x3f, 0xe4, 0xff, 0xff, 0xbf, 0xfa, 0xff, 0xff, 0x1f, 0xf5, 0xff, 0xff, 0x9f, 0xf2, 0xff, 0xff, 0x7f, 0xf5, 0xff, 0xff, 0x9f, 0xf0, 0xff, 0xff, 0xa7, 0xfc, 0xff, 0xff, 0xdb, 0xff, 0xff, 0xff, 0xdd, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; \End\Of\Shar\ else echo "will not over write ./tink/tink_ne_1.xbm" fi if `test ! -s ./tink/tink_nw_0.xbm` then echo "writing ./tink/tink_nw_0.xbm" cat > ./tink/tink_nw_0.xbm << '\End\Of\Shar\' #define tink_nw_0_width 32 #define tink_nw_0_height 32 static char tink_nw_0_bits[] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xfe, 0xff, 0xff, 0x67, 0xfd, 0xff, 0xff, 0x57, 0xfd, 0xff, 0xff, 0x4f, 0xf1, 0xff, 0xff, 0x3f, 0xf4, 0xff, 0xff, 0x83, 0xf9, 0xff, 0xff, 0xbb, 0xfe, 0xff, 0xff, 0x07, 0xfd, 0xff, 0xff, 0x5f, 0xe3, 0xff, 0xff, 0x9f, 0xdb, 0xff, 0xff, 0xff, 0xbb, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; \End\Of\Shar\ else echo "will not over write ./tink/tink_nw_0.xbm" fi if `test ! -s ./tink/tink_nw_1.xbm` then echo "writing ./tink/tink_nw_1.xbm" cat > ./tink/tink_nw_1.xbm << '\End\Of\Shar\' #define tink_nw_1_width 32 #define tink_nw_1_height 32 static char tink_nw_1_bits[] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xff, 0xff, 0xff, 0xf5, 0xff, 0xff, 0xff, 0x13, 0xfe, 0xff, 0xff, 0xaf, 0xfe, 0xff, 0xff, 0x57, 0xfc, 0xff, 0xff, 0xa7, 0xfc, 0xff, 0xff, 0x57, 0xff, 0xff, 0xff, 0x87, 0xfc, 0xff, 0xff, 0x9f, 0xf2, 0xff, 0xff, 0xff, 0xed, 0xff, 0xff, 0xff, 0xdd, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; \End\Of\Shar\ else echo "will not over write ./tink/tink_nw_1.xbm" fi if `test ! -s ./tink/tink_s_0.xbm` then echo "writing ./tink/tink_s_0.xbm" cat > ./tink/tink_s_0.xbm << '\End\Of\Shar\' #define tink_s_0_width 32 #define tink_s_0_height 32 static char tink_s_0_bits[] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xfb, 0xff, 0xff, 0xbf, 0xfb, 0xff, 0xff, 0x7f, 0xfd, 0xff, 0xff, 0x7f, 0xfd, 0xff, 0xff, 0x7f, 0xfd, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x8f, 0xe2, 0xff, 0xff, 0x37, 0xd8, 0xff, 0xff, 0xcf, 0xe6, 0xff, 0xff, 0x3f, 0xf9, 0xff, 0xff, 0x5f, 0xf5, 0xff, 0xff, 0x8f, 0xe2, 0xff, 0xff, 0x6f, 0xec, 0xff, 0xff, 0x7f, 0xfd, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; \End\Of\Shar\ else echo "will not over write ./tink/tink_s_0.xbm" fi if `test ! -s ./tink/tink_s_1.xbm` then echo "writing ./tink/tink_s_1.xbm" cat > ./tink/tink_s_1.xbm << '\End\Of\Shar\' #define tink_s_1_width 32 #define tink_s_1_height 32 static char tink_s_1_bits[] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xfd, 0xff, 0xff, 0x7f, 0xfd, 0xff, 0xff, 0x7f, 0xfd, 0xff, 0xff, 0x7f, 0xfd, 0xff, 0xff, 0x7f, 0xfd, 0xff, 0xff, 0xdf, 0xf6, 0xff, 0xff, 0xaf, 0xea, 0xff, 0xff, 0x1f, 0xf0, 0xff, 0xff, 0x9f, 0xf2, 0xff, 0xff, 0x5f, 0xf5, 0xff, 0xff, 0x3f, 0xf9, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0x7f, 0xfc, 0xff, 0xff, 0x7f, 0xfd, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; \End\Of\Shar\ else echo "will not over write ./tink/tink_s_1.xbm" fi if `test ! -s ./tink/tink_se_0.xbm` then echo "writing ./tink/tink_se_0.xbm" cat > ./tink/tink_se_0.xbm << '\End\Of\Shar\' #define tink_se_0_width 32 #define tink_se_0_height 32 static char tink_se_0_bits[] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xbd, 0xff, 0xff, 0xff, 0xb3, 0xf3, 0xff, 0xff, 0x8f, 0xf5, 0xff, 0xff, 0x7f, 0xc1, 0xff, 0xff, 0xff, 0xba, 0xff, 0xff, 0x3f, 0x83, 0xff, 0xff, 0x5f, 0xf8, 0xff, 0xff, 0x1f, 0xe5, 0xff, 0xff, 0x7f, 0xd5, 0xff, 0xff, 0x7f, 0xcd, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; \End\Of\Shar\ else echo "will not over write ./tink/tink_se_0.xbm" fi if `test ! -s ./tink/tink_se_1.xbm` then echo "writing ./tink/tink_se_1.xbm" cat > ./tink/tink_se_1.xbm << '\End\Of\Shar\' #define tink_se_1_width 32 #define tink_se_1_height 32 static char tink_se_1_bits[] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xff, 0xff, 0x77, 0xff, 0xff, 0xff, 0x6f, 0xff, 0xff, 0xff, 0x9f, 0xf2, 0xff, 0xff, 0x7f, 0xc2, 0xff, 0xff, 0xff, 0xd5, 0xff, 0xff, 0x7f, 0xca, 0xff, 0xff, 0x7f, 0xd4, 0xff, 0xff, 0xff, 0xea, 0xff, 0xff, 0xff, 0x90, 0xff, 0xff, 0xff, 0x5f, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; \End\Of\Shar\ else echo "will not over write ./tink/tink_se_1.xbm" fi if `test ! -s ./tink/tink_sw_0.xbm` then echo "writing ./tink/tink_sw_0.xbm" cat > ./tink/tink_sw_0.xbm << '\End\Of\Shar\' #define tink_sw_0_width 32 #define tink_sw_0_height 32 static char tink_sw_0_bits[] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xde, 0xff, 0xff, 0xe7, 0xe6, 0xff, 0xff, 0xd7, 0xf8, 0xff, 0xff, 0x41, 0xff, 0xff, 0xff, 0xae, 0xff, 0xff, 0xff, 0x60, 0xfe, 0xff, 0xff, 0x0f, 0xfd, 0xff, 0xff, 0x53, 0xfc, 0xff, 0xff, 0x55, 0xff, 0xff, 0xff, 0x59, 0xff, 0xff, 0xff, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; \End\Of\Shar\ else echo "will not over write ./tink/tink_sw_0.xbm" fi if `test ! -s ./tink/tink_sw_1.xbm` then echo "writing ./tink/tink_sw_1.xbm" cat > ./tink/tink_sw_1.xbm << '\End\Of\Shar\' #define tink_sw_1_width 32 #define tink_sw_1_height 32 static char tink_sw_1_bits[] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xdd, 0xff, 0xff, 0xff, 0xed, 0xff, 0xff, 0x9f, 0xf2, 0xff, 0xff, 0x87, 0xfc, 0xff, 0xff, 0x57, 0xff, 0xff, 0xff, 0xa7, 0xfc, 0xff, 0xff, 0x57, 0xfc, 0xff, 0xff, 0xaf, 0xfe, 0xff, 0xff, 0x13, 0xfe, 0xff, 0xff, 0xf5, 0xff, 0xff, 0xff, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; \End\Of\Shar\ else echo "will not over write ./tink/tink_sw_1.xbm" fi if `test ! -s ./tink/tink_w_0.xbm` then echo "writing ./tink/tink_w_0.xbm" cat > ./tink/tink_w_0.xbm << '\End\Of\Shar\' #define tink_w_0_width 32 #define tink_w_0_height 32 static char tink_w_0_bits[] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xcf, 0xfa, 0xff, 0xff, 0x9f, 0xfa, 0xff, 0xff, 0x5f, 0x79, 0xfe, 0xff, 0x27, 0x8d, 0xff, 0xff, 0xcb, 0xf0, 0xff, 0xff, 0x27, 0x8d, 0xff, 0xff, 0x5f, 0x79, 0xfe, 0xff, 0x9f, 0xfa, 0xff, 0xff, 0xcf, 0xfa, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; \End\Of\Shar\ else echo "will not over write ./tink/tink_w_0.xbm" fi if `test ! -s ./tink/tink_w_1.xbm` then echo "writing ./tink/tink_w_1.xbm" cat > ./tink/tink_w_1.xbm << '\End\Of\Shar\' #define tink_w_1_width 32 #define tink_w_1_height 32 static char tink_w_1_bits[] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0x7f, 0xf4, 0xff, 0xff, 0xbf, 0xf8, 0xff, 0xff, 0x27, 0x0d, 0xfe, 0xff, 0x8b, 0xf1, 0xff, 0xff, 0x27, 0x0d, 0xfe, 0xff, 0xbf, 0xf8, 0xff, 0xff, 0x7f, 0xf4, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; \End\Of\Shar\ else echo "will not over write ./tink/tink_w_1.xbm" fi echo "Finished archive 1 of 1" exit exit 0 # Just in case... -- Kent Landfield INTERNET: kent@sparky.IMD.Sterling.COM Sterling Software, IMD UUCP: uunet!sparky!kent Phone: (402) 291-8300 FAX: (402) 291-4362 Please send comp.sources.misc-related mail to kent@uunet.uu.net.