1Sat Oct 19 19:18:17 CDT 2013 2 3Version 13, added -Wall and fixed all warnings. This was triggered at the 4request of Rusmir Dusko who is the FFreeBSD maintainer for Founts. 5 6Thu Jul 8 21:59:26 PDT 1999 7 8Added fractal background, defaults to cloud palette. Change with 'f' key. 9Added various palettes for fractal background, change with 'c' key. 10Added 'h' option for hiding everything but the balls. 11Added 'r' option to make the hoses spin, the idea came from 12brig6320@kennedy.ecn.ou.edu. 13 14Wed Jun 30 21:18:42 PDT 1999 15 16Added presets by using keys 1-9 or shift 1-9 to store. 'x' key deletes 17all the hoses and blocks. Stores to $HOME/.fountspreset#. Doesn't write 18under win32, probably because name begins with '.'. 19 20Changed 'm' option so mixing still draws spheres instead of solid colored 21disk. 22 23Set up to use SDL_SetTimer() so speed is the same across machines. The 24balls move at a virtual speed of 100 frames/second. I was using the 25friendly pause() function in case the cpu finished drawing before the 26interrupt, but that doesn't port well. Instead I switched to an ugly 27busy wait, which is portable but wasteful. Oh well...There was no need 28to use threads to get the fixed virtual speed. After rendering a frame, 29I count how may interrupts occured and run the ball movement that many 30times. So on average the balls move at 100 frames/second, but are only 31rendered as fast as the machine can handle, up to 100 frames/second. 32 33 34Mon Jun 28 10:23:35 PDT 1999 35 36Lots of changes. I got rid of the data/ directory (and the ants and font 37stuff). The balls are now rendered and can be scaled on the fly. I also 38added the 'e' eye demo, where an array of human looking eyeballs look at 39the cursor. Kind of like xeyes. The balls are bigger in the founts part and 40I think they look better. Also more colors to choose from, and a different 41mechanism for coloring the balls. At startup the game figures out the 42ball size based on the window resolution. Then it renders 512 balls in 43all hues, 3 bits per gun (RGB). Then when the program wants a ball of a 44specific color, it chooses the correct rendered one. 45 46The rendering also does 8 or 16 bits directly. Doesn't work for other 47bits/pixel. It used to rely on SDL mapping 8 bits -> other resolutions, 48but I wanted more colors so I began writing the 16 bit code directly. Then 49I went back and dealt with the 8 bit rendering just for completeness. Now 50I'm too lazy to deal with 24 or 32 bits/pixel... 51 52I want the color selection to be different, perhaps right clicking on a 53hose will bring up a color wheel. I don't like having to drag the hoses 54down to the bottom colors to change their color, and it doesn't allow for 55enough colors. 56 57I also want to change the math so there are 2 threads, one which does the 58ball movement, and one that renders to the screen. The movement one I want 59to be fixed at 60 hz. So slower machines will just get a lower framerate 60but the balls will average out to the same speed. I haven't used the thread 61library yet. Probably I'll look at SDL code to see how they used it. Cool 62concept, niftier than fork(). 63