Beef 2.2 ---- General Beef is an information borg of the pure white kind. I have not and will not implement autoweapons of any kind for this borg. I am interested in any info features that people add however, other than show_cloakers and army_tracking. All suggestions and especially criticisms are welcome; mail to: leonard@cs.umd.edu or catch me while I am testing on rwd4, or swcs9. ---- Features Beef's differences from the normal blessed binary are as follows: o All new planet bitmaps Planets are displayed vaguely like this: ___ __/ \ |A| ^ 7 / /*\ \ |F|/***\ | \ |/ \| / |R| / \___/ Earth Agri, fuel and repair are indicated by fixed boxes on the left of a planet; the planet's number of armies is shown in white at the upper or lower right. A planet's number of armies is always shown on the local window; in the upper right if >= 4, or the lower right if <= 3. (Independent planets have no owner shown, and are thus extremely obvious.) A planet's number of armies is only shown on the map window if the number is not equal to four, and the planet is yours or an enemy's. The owner insignia is always displayed. o Breakup of Options menu There are now three different menus that do what this menu used to do, and more. The Windows menu (mapped to 'W') maps and unmaps all the interesting windows. The options menu (still mapped to 'O') toggles boolean values. The Parameters window ('K') displays and sets all other interesting values that a client will need. The show_shields option has been removed, as have the local and map mode three-way toggles. The latter are not used in beef, and I have no idea why anyone would want to turn off the former. Let me know if you feel this option has any value. o Message beep A beep is generated every time a message comes to you or your team. Toggle with "Message beep" option. o Mouse shift functionality Mouse clicking with the shift key down is distinguished from that without. shift-left and shift-middle do planet (only) lock; shift-right does player-lock. Look for mouse-mapping in beef 2.3. o Planet highlighting If a word is found in any message to you or your team that is the beginning of any planet name (and at least 3 characters long), that planet will be highlighted by a short animated sequence on the map window. The first character in the string is always treated as captitalized. (This allows you to type "ori+++" instead of "Ori+++".) Toggle with "Planet highlighting" option. o Player highlighting If the first word of a message to you or your team is either "Distress" or "Help", the sending player will be highlighted by a short animated sequence on the map window. Toggle with "Player highlighting" option. o Server nicknames You can now use server nicknames to call netrek; they are specified in your .xtrekrc like this: # server nicknames: Bezier: 128.32.150.109 Bronco: 128.2.210.65 The wait window and netrek window get labelled with the server name you are using, or nickname if that is given. o Tractor/pressor toggle optional If you turn off the "tractor/pressor toggling" option, 'T' and 'y' are tractor/pressor on switches *only*. Pressing one while tractors or pressors are already on will switch the action to the new ship. A new key '$' does tractor/pressor off in both modes. o Visible status Ship status is shown in places other than the status line. The cursor changes to show repair mode, wtemped mode, and weapon temp. There is a new icon for starbases with docking permission off. o X11 interface improvements Green/Yellow/Red alert work. The patches found in jch's client-hints are installed, presumably making all the X windows act more nicely. Windows get appropriate labels. The wait window now is laid out more to my taste, and uses the big font for more readability. o Internal mods for speed Rewrote status line reporting in redraw.c. Replaced some blanking calls in redraw.c by calls to a new function in x11window.c, W_OverlayBitmap. Made the warning function only erase as much of the line as needed, as it overwrites the rest. Of course, none of these is very much of a speedup. If you have any ideas on real substantial speedups possible in the client, write me. o Internal mods for correctness Gcc doesn't seem to want to compile beef (or the vanilla client.) Part of the problem was a function in defaults.c which I removed, called strcmpi. It works exactly like strcasecmp except that it destructively modifies the strings. (Hp_ux users: you apparently do not have this function, and will have to write your own. Mail me for code if you must.) Seems that gcc is smart enough to put initialized strings in the text portion of the program, which caused this function to dump core. Beef compiled with gcc still has weird crashes that take place when you get killed, that I have not yet tracked down. (On the sun4 anyway) Do not compile beef with gcc yet. o Internal mods for neater code Conglomerated the refit code in inputs.c to the beginning of the switch, where the flag is checked anyway. ---- Upcoming stuff: o Quick messaging feature Allow a large number of "standard" messages to be sent with only a keypress or two. o Graphical keymap editor Edit your keymap by moving around icons representing netrek operations rather than typing letters. ---- Other I am distributing two small c programs, "bm_to_bma" and "bma_to_bm", with the beef bitmaps. The first is used to concatenate sequences of identically sized bitmap (.bm) files into what I call bitmap array (.bma) files; the second undoes this operation. The netrek client source likes some of its bitmaps (for example, the torpedo explosion sequence) to come in this form so that they can be interned in a for loop. And bitmap array files cut down drastically on the number of files in the bitmaps directory, making it more convenient to work in.