Tue Aug 22 13:36:42 PDT 2006 williamb at its.caltech.edu * Improved tracking of server modes The purpose of this patch is to keep better track of what sort of robot mode the server is running, and to make consistent use of the server status states defined in struct.h. This makes the code easier to understand in some places (especially regarding the inl robot), and it allows for a smarter vote system, as votes will no longer pass if the server is already running the mode voted on. This enhances server stability in the case of rapid switching between modes (dogfight, hockey, basepractice, and inl). The server will no longer get "stuck" in a hockey galaxy, which has happened in the past when hockey was voted on twice. Likewise for getting "stuck" in dogfight mode. The initial startup robot mode, as defined in sysdef, is also recognized, and that mode is not able to be voted again until that robot exits. There should now never be the case where there are simultaneous duplicate robots, i.e. 2 hockey announcers, 2 SMACK basepractice starters, etc. * struct.h: Addition of GU_PUCK and GU_DOG server status. Addition of server mode defines. conquer.c, daemonII.c, death.c, getname.c, solicit.c, players.c: Replace compound bit statements with server mode defines. mars.c, marsmove.c, puck.c, puckmove.c: Track server status with new GU defines. ntscmds.c: Add check before launching puck, mars, newbie, or pre_t robots. M ./Vanilla/include/struct.h -4 +10 M ./Vanilla/ntserv/conquer.c -2 +2 M ./Vanilla/ntserv/daemonII.c -7 +7 M ./Vanilla/ntserv/death.c -1 +1 M ./Vanilla/ntserv/getname.c -1 +1 M ./Vanilla/ntserv/ntscmds.c -1 +21 M ./Vanilla/ntserv/solicit.c -10 +8 M ./Vanilla/robots/mars.c +1 M ./Vanilla/robots/marsmove.c -1 +1 M ./Vanilla/robots/puck.c +1 M ./Vanilla/robots/puckmove.c +1 M ./Vanilla/tools/players.c -1 +1 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: text/x-darcs-patch Size: 19745 bytes Desc: A darcs patch for your repository! Url : http://mailman.us.netrek.org/pipermail/netrek-dev/attachments/20060822/cd4da081/attachment-0001.bin