SpaceWar -------- SpaceWar has two executables: the server and the game. The server: The server code should run on any UNIX system. It registers players, passes important messages between them, and handles contention for non- sharable resources (namely flags). Start the server on any system, then use the server's hostname when starting the game. The game: The game code uses Inventor, Motif, and GL and therefore only runs on systems with graphics heads (it requires a Z buffer too). Playing: To play first start the server on some system (type 'sws'). The server will take up very little CPU time even when a game is going on because it only wakes up when there is an important message to handle. It ignores the ship information broadcast packets flooding the network. Once the server is running, players may join. You must supply a server to connect to, a team to play on, and a call sign to use. The usage is: sw -n callsign -s server teamname The first character of teamname is significant and may be one of 'r', 'g', 'b', or 'p' for the red, green, blue, or purple team, respectively. See the help pages (sw.hlp in showcase format) for detailed information on how to play. Implementation notes: * I needed to fix /usr/include/gl/image.h to work with C++. The only change was to add parameters to the iopen call. Original: IMAGE *iopen(); Fixed: IMAGE *iopen(char*, char*); IMPORTANT!!! This change must be made for the program to compile. * The explosion movie was shamelessly sampled from "Star Wars" so there may be some copyright problems. * The audio was taken from the Prosonus sounds and the bz sounds supplied with IRIS systems. * You may notice some references to a radio. This was not implemented. * The explosion display sometimes causes a graphics FIFO timeout. This is not consistently reproducible (it's pretty rare). The following are taken from SYSLOG: WARNING: Gr2PixelDma: TIMEOUT gfx DMA did not complete (finish flag not set) WARNING: Gr2PcxSwap: TIMEOUT gfx context switch did not complete (Start) WARNING: Graphics error: GE PC = 0x4056 * Much of the game can be customized with resources. The following resources are defined (listed with the app-defaults): sw*label*fontList: -*-helvetica-bold-r-normal-*-14-* sw*info*fontList: -*-helvetica-medium-r-normal-*-14-* sw*XmText.background: #999999 sw*status*fractionBase: 10 sw*status*rightPosition: 3 sw*weapons*label.labelString: Weapons: sw*shields*label.labelString: Shields: sw*laser*label.labelString: Laser: sw*missile*label.labelString: Missiles: sw*thrust*label.labelString: Thrust: sw*fuel*label.labelString: Fuel: sw*radio*label.labelString: Radio: sw*radio*off.labelString: Off sw*radio*team.labelString: Team sw*radio*all.labelString: All sw*sound*label.labelString: Sound: sw*sound*off.labelString: Off sw*sound*warning.labelString: Warn sw*sound*all.labelString: All sw*radar*label.labelString: Radar: sw*target*label.labelString: Target: sw*message*label.labelString: Messages: sw*score*label.labelString: Score: sw*players*label.labelString: Players: sw*flag*label.labelString: Flag: sw*pause.labelString: Pause sw*help.labelString: Help sw*quit.labelString: Quit sw*regularName: Regular sw*explosionDirectory: . sw*soundsDirectory: . sw*geometry: 1000x740 The geometry resource given is suitable for small displays. For a larger display 1280x880 works better.
Source
Documentation
Reference