home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #26 / NN_1992_26.iso / spool / comp / windows / x / 19084 < prev    next >
Encoding:
Internet Message Format  |  1992-11-12  |  6.7 KB

  1. Path: sparky!uunet!ogicse!uwm.edu!ux1.cso.uiuc.edu!news.cso.uiuc.edu!void!ebina
  2. From: ebina@void.uiuc.edu (Eric Bina)
  3. Newsgroups: comp.windows.x
  4. Subject: Fish in your background!  Version 2.0 of xfishtank now avilable!
  5. Message-ID: <BxMoII.27K@news.cso.uiuc.edu>
  6. Date: 13 Nov 92 00:11:06 GMT
  7. Article-I.D.: news.BxMoII.27K
  8. Sender: ebina@void (Eric Bina)
  9. Organization: NCSA
  10. Lines: 128
  11.  
  12.  
  13.  
  14. The newest version of xfishtank can now be gotten from
  15. export.lcs.mit.edu [18.24.0.12] as contrib/xfishtank.tar.Z
  16.  
  17. This version has more fish, and background picture support as well as other fixes
  18. and improvements.  The long description follows.
  19.  
  20.  
  21.        ********************** FUN WITH FISH *********************
  22.  
  23. There are lots of programs for lots of platforms to make fish swim in the
  24. background of your screen.  This is a modification of an old one called
  25. xfish (also called Xaquarium), that I have added more features to.
  26.  
  27. To not confuse you (or confuse you more) I will call this modified xfish
  28. "xfishtank". ['A rose by any other name...' and all that]
  29.  
  30.  
  31. How is this different?  I started with you basic xfish, and I kept the
  32. bubbles (actually I re-wrote some of the bubble code, but it LOOKS the same).
  33. I changed the rest of the code to allow any number of multicolored fish to
  34. swim around.  Each fish can have up to 255 colors, but on startup the program
  35. takes all the colors from all the fish, and squeezes them down to all fit
  36. into the default colormap as best it can.  Any fish can be any size in
  37. width and height.  To make them look more like they are swimming, fish are
  38. animated (Very simple 2 frame animation) [I got this idea from watching
  39. the AfterDark fish on the Mac].  Fish CANNOT swim over each other, they
  40. will turn around if they are about to collide.  I had a version that
  41. had fish swiming over each other, it was WAY to slow to be something to run
  42. on your background while working, so I deleted it.
  43.  
  44. xfishtank -help to see the command line options.
  45.  
  46.  
  47.        ********************** NEW FUN WITH FISH *********************
  48.  
  49. Since the original version, I have received various comments and bug fixes.
  50. This version I know runs on SGIs running 4.0, Sparcs running 4.1, 
  51. Decstations running 4.1, and RS6000s running 3.1.  However, there were mongo
  52. memory leaks in the X server distributed with the RS6000, so I had to compile
  53. the X11R5 server and use that.
  54.  
  55. As you add more fish (especially very colorful fish) the total color use set
  56. becomes quite large (greater than 255).  I added 2 new options to help you
  57. deal with this.  By default xfishtank would find the total color use set
  58. for all the fish you requested, and then start allocating out of the default
  59. colormap until it filled up, it would then match the rest of the colors to
  60. whatever colors it could get.  This first come first serve color allocation
  61. can give really bad results for large color sets.  I added the -m option
  62. to allow you to specify that the program should cut the color use set down
  63. to the number you specify with the -m option before starting to allocate
  64. out of the default colormap.  The algorithm used by -m is considerably better
  65. than first come first serve.  Also, having xfishtank use ALL the available
  66. cells in the default colormap can be bad.  The -C options lets you limit how
  67. many cells xfishtank will take out of the default colormap.
  68. In the first come first serve senario colors are allocated for the fish,
  69. in the order of appearance in the FishList file, and then from the backgound
  70. picture if one exists.
  71.  
  72. Finally, due to popular demand, I put back in my clipmask code.  By setting
  73. the -d option (for Do clipping), xfishtank will swim its fish over whatever
  74. you already have on your root window.  WARNING:  This will slow down your
  75. machine!  The reason I took this code out originally was it slowed my 
  76. machine down too much for me to comfortably work.  But if you think you have
  77. a really spiffy fast workstation, go ahead and give it a try.
  78.  
  79. If you use the -d option and notice some flicker (which I expect you will),
  80. this is because xfishtank is just doing an XClearArea, and letting the root
  81. redraw its background.  If you know what you want your background picture to
  82. be, use -p <image_file> instead of -d.  The image_file needs to be a gif
  83. image.  Since xfishtank now knows what your background is, xfishtank with
  84. the -p option should have much less flicker.  However, it suffers the
  85. disadvantage that you can't change the background picture without restarting
  86. xfishtank.
  87.  
  88. The intrepid explorer of the source code will notice that there are some
  89. options not described in xfishtank -help.  In particular -o -and -D.  These
  90. options aren't described because they were stuff I was fussing with and couldn't
  91. get to work.  I left them in on this release so that if someone else wanted
  92. to try and get them to work, they could see what I had already tried.  The -o
  93. option lets fish try and swim on top of each other.  It looks ugly no matter
  94. how I do it, if you can fix it, great.  -D is a special option that is only
  95. active if you have also specified -d and -p.  Normally you never want to specify
  96. both -d and -p because it doesn't make the animation any better, and it
  97. slightly messes up fish to bubble intersections.  However, if you specify
  98. -d -D -o -p you will get as close as I could get to proper fish intersections.
  99. And when you see how crumby these are, and how slow it makes your machine
  100. you will know why I gave up.
  101.  
  102. Ok, I'll fess up, I'm lying, I did actually get good fish to fish intersections
  103. but only by writing a completely different version of xfishtank that has
  104. each fish be a shaped override-redirect window, that moves itself, and changes
  105. its shape-mask to animate.  This looks REALLY COOL, but grinds any and all
  106. X servers to a complete standstill.
  107.  
  108.  
  109.        ********************** NEW FISH PICTURES *********************
  110.  
  111. This release contains a grand total of 29 fish!  These fish were carefully
  112. created through lots of hard work, and the help of many many people who
  113. sent me pictures of fish, non-copyrighted gifs of fish, and allowed me to
  114. borrow their scanners.  I'm not going to try and name them all here, there
  115. are lots of you, and I'm afraid I may miss someone.  You all know who you are,
  116. and you have my heartfelt thanks, I couldn't have done this without you.
  117.  
  118.  
  119.  
  120.             ********************** THANKS *********************
  121.  
  122. A really big thanks to well over 100 wonderful people who after downloading
  123. the last version of xfishtank took the time to send me such pleasant,
  124. complimentary, and supportive e-mail.  This version was never planned, but
  125. all of you have made me feel better about writing this code than anything
  126. that any employer has ever paid me for.
  127.  
  128.  
  129. As usual, mail any problems, questions, complaints, reccommendations, and
  130. cookies to me.
  131.  
  132. Eric Bina
  133. 508 E. Michigan, #35
  134. Urbana, IL 61801
  135.  
  136. ebina@ncsa.uiuc.edu
  137.  
  138. (217)344-9101
  139. Work(217)244-6133
  140.