]>
Commit | Line | Data |
---|---|---|
2ac45f02 MG |
1 | All I did to compile it was add: '|| defined(linux)' to the end of line 49 |
2 | of xfish.c, and added: '#ifdef linux signal(SIGUSR1, toggle_secure); #else' | |
3 | at line 1469 followed by '#endif /* LINUX */' at line 1495. | |
4 | ||
5 | I didn't figure this out for myself either, I just looked at the port of | |
6 | xfishtank1.0 at sunsite /pub/Linux/X11/demos/xfishtank.tar.Z | |
7 | done by: Dave Black dlbb0@amdahl.com | |
8 | ||
9 | I included the source and 'stripped' binary compiled with gcc2.2.2d7 and the | |
10 | jump4.1 libs under linux-0.99 and Xfree86v1.1 | |
11 | ||
12 | I've been using it for months now without any problems. Much improved over | |
13 | xfishtank1.0, there are loads of new 'way cool' fish which posess the ability | |
14 | to swim on top of gifs!! | |
15 | ||
16 | One last note, the current Makefile was generated by my Xfree86v1.1 xmkmf | |
17 | and uses a -m486 CCOPTION, I don't know if this would cause it to not work | |
18 | on other machines or not (the binary, if it doesn't work try changing it to | |
19 | -m386, and recompiling) ??? | |
20 | ||
21 | I'm uploading it to sunsite.unc.edu /pub/Linux/X11/Incoming | |
22 | ||
23 | Here is the README: | |
24 | ||
25 | ********************** FUN WITH FISH ********************* | |
26 | ||
27 | There are lots of programs for lots of platforms to make fish swim in the | |
28 | background of your screen. This is a modification of an old one called | |
29 | xfish (also called Xaquarium), that I have added more features to. | |
30 | ||
31 | To not confuse you (or confuse you more) I will call this modified xfish | |
32 | "xfishtank". ['A rose by any other name...' and all that] | |
33 | ||
34 | ||
35 | How is this different? I started with you basic xfish, and I kept the | |
36 | bubbles (actually I re-wrote some of the bubble code, but it LOOKS the same). | |
37 | I changed the rest of the code to allow any number of multicolored fish to | |
38 | swim around. Each fish can have up to 255 colors, but on startup the program | |
39 | takes all the colors from all the fish, and squeezes them down to all fit | |
40 | into the default colormap as best it can. Any fish can be any size in | |
41 | width and height. To make them look more like they are swimming, fish are | |
42 | animated (Very simple 2 frame animation) [I got this idea from watching | |
43 | the AfterDark fish on the Mac]. Fish CANNOT swim over each other, they | |
44 | will turn around if they are about to collide. I had a version that | |
45 | had fish swiming over each other, it was WAY to slow to be something to run | |
46 | on your background while working, so I deleted it. | |
47 | ||
48 | xfishtank -help to see the command line options. | |
49 | ||
50 | ||
51 | ********************** NEW FUN WITH FISH ********************* | |
52 | ||
53 | Since the original version, I have received various comments and bug fixes. | |
54 | This version I know runs on SGIs running 4.0, Sparcs running 4.1, | |
55 | Decstations running 4.1, and RS6000s running 3.1. However, there were mongo | |
56 | memory leaks in the X server distributed with the RS6000, so I had to compile | |
57 | the X11R5 server and use that. | |
58 | ||
59 | As you add more fish (especially very colorful fish) the total color use set | |
60 | becomes quite large (greater than 255). I added 2 new options to help you | |
61 | deal with this. By default xfishtank would find the total color use set | |
62 | for all the fish you requested, and then start allocating out of the default | |
63 | colormap until it filled up, it would then match the rest of the colors to | |
64 | whatever colors it could get. This first come first serve color allocation | |
65 | can give really bad results for large color sets. I added the -m option | |
66 | to allow you to specify that the program should cut the color use set down | |
67 | to the number you specify with the -m option before starting to allocate | |
68 | out of the default colormap. The algorithm used by -m is considerably better | |
69 | than first come first serve. Also, having xfishtank use ALL the available | |
70 | cells in the default colormap can be bad. The -C options lets you limit how | |
71 | many cells xfishtank will take out of the default colormap. | |
72 | In the first come first serve senario colors are allocated for the fish, | |
73 | in the order of appearance in the FishList file, and then from the backgound | |
74 | picture if one exists. | |
75 | ||
76 | Finally, due to popular demand, I put back in my clipmask code. By setting | |
77 | the -d option (for Do clipping), xfishtank will swim its fish over whatever | |
78 | you already have on your root window. WARNING: This will slow down your | |
79 | machine! The reason I took this code out originally was it slowed my | |
80 | machine down too much for me to comfortably work. But if you think you have | |
81 | a really spiffy fast workstation, go ahead and give it a try. | |
82 | ||
83 | If you use the -d option and notice some flicker (which I expect you will), | |
84 | this is because xfishtank is just doing an XClearArea, and letting the root | |
85 | redraw its background. If you know what you want your background picture to | |
86 | be, use -p <image_file> instead of -d. The image_file needs to be a gif | |
87 | image. Since xfishtank now knows what your background is, xfishtank with | |
88 | the -p option should have much less flicker. However, it suffers the | |
89 | disadvantage that you can't change the background picture without restarting | |
90 | xfishtank. | |
91 | ||
92 | The intrepid explorer of the source code will notice that there are some | |
93 | options not described in xfishtank -help. In particular -o -and -D. These | |
94 | options aren't described because they were stuff I was fussing with and couldn't | |
95 | get to work. I left them in on this release so that if someone else wanted | |
96 | to try and get them to work, they could see what I had already tried. The -o | |
97 | option lets fish try and swim on top of each other. It looks ugly no matter | |
98 | how I do it, if you can fix it, great. -D is a special option that is only | |
99 | active if you have also specified -d and -p. Normally you never want to specify | |
100 | both -d and -p because it doesn't make the animation any better, and it | |
101 | slightly messes up fish to bubble intersections. However, if you specify | |
102 | -d -D -o -p you will get as close as I could get to proper fish intersections. | |
103 | And when you see how crumby these are, and how slow it makes your machine | |
104 | you will know why I gave up. | |
105 | ||
106 | Ok, I'll fess up, I'm lying, I did actually get good fish to fish intersections | |
107 | but only by writing a completely different version of xfishtank that has | |
108 | each fish be a shaped override-redirect window, that moves itself, and changes | |
109 | its shape-mask to animate. This looks REALLY COOL, but grinds any and all | |
110 | X servers to a complete standstill. | |
111 | ||
112 | ||
113 | ********************** NEW FISH PICTURES ********************* | |
114 | ||
115 | This release contains a grand total of 29 fish! These fish were carefully | |
116 | created through lots of hard work, and the help of many many people who | |
117 | sent me pictures of fish, non-copyrighted gifs of fish, and allowed me to | |
118 | borrow their scanners. I'm not going to try and name them all here, there | |
119 | are lots of you, and I'm afraid I may miss someone. You all know who you are, | |
120 | and you have my heartfelt thanks, I couldn't have done this without you. | |
121 | ||
122 | ||
123 | ********************** TROUBLE WITH FISH ********************* | |
124 | ||
125 | There is a scarcity of good fish pictures in the world, and they are all | |
126 | protected by lawyers. Here is the solution I propose. | |
127 | ||
128 | Any of you with talent can edit up any pictures you want, somehow get them | |
129 | into GIF format, and import them into your xfishtank. The program | |
130 | "giftofish" that I am supplying here takes as input any 2 GIF files, | |
131 | and creates a xfishtank header file for that fish. The 2 files must have | |
132 | the same width and height, and must both have the same background color. | |
133 | The pictures are assumed to be the two frames of an animated fish swiming right. | |
134 | Put this new header file into your fishmaps directory, edit the FishList | |
135 | file to add the prefix of that header file, and increment the total fishcount | |
136 | on the first line of that file. Now recompile xfishtank, and your new fish | |
137 | will be used. Also, the program fishtogif will extract the two gifs from | |
138 | any fish header file so you can touch up what you already have. | |
139 | ||
140 | Other fish sources: | |
141 | The AfterDark fish on the Mac are beautiful. If you | |
142 | have already shelled out the money to Berkely Systems Software to buy those | |
143 | fish, and you also want to see them on your UNIX box, here is what you do. | |
144 | If you can transfer the Mac fish files to UNIX, run the "gofish" program | |
145 | supplied here, it will write out the fish into two intermediate files. | |
146 | The files will look strange, they are my own format, just feed them to the | |
147 | giftofish program (which understands that format), and it will create a | |
148 | fish header file for you. | |
149 | OpenWindows 3.0 comes with some fish pictures. If you have purchased | |
150 | Openwindows, and want to use those pictures, the program "rasttofish" | |
151 | supplied here will read one of their sun raster fish pictures, and produce | |
152 | a xfishtank header file for it. Note, the Openwindows fish are only one | |
153 | frame, so the won't be animated. | |
154 | There is apparently a PC Windows program with some swimming fish. | |
155 | The individual fish are stored in .fsh files. The program pcfshtofish | |
156 | will turn one of these .fsh files into an xfishtank header file. | |
157 | ||
158 | ||
159 | ********************** THANKS ********************* | |
160 | ||
161 | A really big thanks to well over 100 wonderful people who after downloading | |
162 | the last version of xfishtank took the time to send me such pleasant, | |
163 | complimentary, and supportive e-mail. This version was never planned, but | |
164 | all of you have made me feel better about writing this code than anything | |
165 | that any employer has ever paid me for. | |
166 | ||
167 | ||
168 | As usual, mail any problems, questions, complaints, reccommendations, and | |
169 | cookies to me. | |
170 | ||
171 | Eric Bina | |
172 | 508 E. Michigan, #35 | |
173 | Urbana, IL 61801 | |
174 | ||
175 | ebina@ncsa.uiuc.edu | |
176 | ||
177 | (217)344-9101 | |
178 | Work(217)244-6133 | |
179 | ||
180 |