XBill history: 0.01 (7/21/94): - Bill moves, and he's in color too. You can even click on him and he excaims "OUCH!" or "SPLAT!" - window resizing is very wrong 0.02 (7/22/94): - program no longer guaranteed to run predictably for longer than nine years (sorry) - ridiculously improved code style (no really a lot!) - added linked list unit and support for multiple monsters - added support for computers - bill says "POW!!!!!!" on button 2 - improved Makefile - remembered to include app-defaults file in tar 0.03 (7/24/94): - forgot to initialize a variable. either the stupid aix compiler initialized it anyway or we were really lucky testing it. - removed annoying flicker - has multiple computers on the screen with random OSes - has multiple bills moving on the screen in random directions - used sxpm to create smaller .xpm files, minor savings in memoy and executable size, easier to edit pixmaps - left button (button 1) removes bills from screen - right button (button 3) now resets computers to wingdows. 0.04 (7/25/94): - got masking to work (well, maybe not...) - bill now carries the wingdows box around - event handling/speed improved 0.1 (7/26/94): - masking really works now - fixed computer pixmap so it looks nice(r) - randomized computer layout now leaves room for bill to stand on right - support for bills walking in, standing at computers and walking out - bills walk towards a specific computer to plunder (primitive ai) - bill turns off computer, 'steals' native os and installs wingdows - count of bills remaining is kept: decreased when bill enters screen - increased if bill leaves - bill is killable in all states - computer reset to native os on right button - cleaned up code and internal structures - event handling/speed really improved (optimized for the new code) - server lag problems identified - linked list unit fixed so that function to move between lists works - window resizing is still very wrong 0.2 (8/14/94) - programmers woke up after being asleep since 7/26. - code structures were fixed very much (again) - bill faces in the direction he's walking - bill explodes in a gory shower of blood when clicked on (yeah!) - bill drops os when killed - the os stays on the ground when bill is killed if it had been stolen - the os bounces up and down while bill carries it - changed default cursor (matias will have to draw a better one later) - cursor changes during drag and drop operation - drag and drop works! there's a little hack involved, but not too bad... - bill now smart enough to notice that a computer is already corrupted and find a new one - game ends if all computers are lost 0.21 (8/15/94) - attempt to port code to athena widgets. it compiles and runs w/o motif now (i hate C macros) a bit - improved the makefile. an imakefile one day maybe... 0.22 (8/16/94) - when bill leaves the field, he drops the os he's carrying - status bar widget now does something 0.3 (8/23/94) - improved responsiveness a lot :) - menubar does something (new game, pause and quit buttons) if motif is used. - levels now exist (barely) - yet more code cleanup 0.31 (8/24/94) - a few things depend on the level (freq. and number of appearing bills, number of computers, step size) - bug where a computer is ignored if off is removed - menu code written. - athena code started. this works more or less, but not too well. i'd recommend using motif and/or a statically linked binary. 0.32 (9/18/94) - about box works. help almost works also. - a bunch of bugs fixed - have an Imakefile now (thanks to Greg Seidman - anthro@cs.umd.edu) 0.9 (11/28/94 - a bit busier during school) - warp to arbitrary level works - game pauses when cursor leaves window - cursor warps to near upper left corner of opened dialog boxes - redefined both reset and drag to right button (button 3), added -1 option for people with a one button mouse. -1 may slow the game down a bit. - added -l, -L to specify starting level - added -v for version info - improved pictures a lot - added confirmations for actions - game now pauses well - fixed level difficulty stuff - bill walks at two speeds - minimizes to an icon (a cool one too...) - scoring improved - window cannot be resized now, no matter how hard you try :) - much cooler animations for bill replacing os - added high score list - fixed lots of silly bugs - made program not die from colormap error (i hope) 1.0 (4/5/95-4/9/95) - remembered that the game's not done yet :) - replaced usleep() calls with XtAppAddTimeout(). should make the game more responsive - changed all popup windows to modal dialogs. cleans up code a lot - removed Athena support, since it would take too long to finish. - made a couple pixmaps a bit smaller - changed colors to gray. why not? - finally got everything to work with full colormaps - got rid of app-defaults file. Not really used anyway - Only uses one button now (any button). Easier to play. - Some Imakefile fixes 1.1 (4/16/95) - modularized widget code, and added Athena widget support (rewritten from scratch). The game looks better with Motif, but that's not too important. - made pause button only active during game play - warping to a level starts a game if one isn't being played - fixed a potentially nasty bug that could cause bills to get lost - works in TrueColor now (I think - it works in 16 bit mode at least) 1.1a (9/22/95) - fixed bug where getopt() returned a char instead of an int. - fixed bug where hitting Enter when entering a high score corrupted the high score file. - don't fclose() nonexistant files any more. - added BSD as another operating system (patches by Joerg Wunsch, joerg_wunsch@uriah.heep.sax.de) - it was really easy to play forever by guarding one computer. Now you lose when there's only one computer left running its normal OS. - added man page, written by Pekka Marjola (marjola@trshp.ntc.nokia.com) 2.0 () - changed around some timer code. - removed Athena DrawingArea widget since CoreWidget works too. - massive code reorganization to improve portability to other GUIs, languages, etc. - Some computers are connected by network cables - When a computer with a network cable becomes infected, it will release a spark down the cable which will infect the computer on the other end. Pouring the bucket of water on the spark will extinguish it. - Made cursors and various other images look better. - Removed references to defenestration.dorm.umd.edu, which no longer exists. - Added Red Hat logo (fixed broken Red Hat patch). - Added GNU Hurd logo - Added Linux penguin logo - The BSD, Red Hat, Linux, OS/2, and Hurd operating systems are interchangable on the 2 PC computers. - The score is now displayed in the playing field. - Made Athena version far better looking. - Motif version almost completely works with Lesstif.