123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- ZIP contents
- ROTTIPX <DIR> IPX source BC 3.1 format
- ROTTSER <DIR> SERIAL source BC 3.1 format
- ROTTNET C 4,861 ROTT<->DRIVER interface code
- ROTTNET H 1,955 "
- RT_NET H 7,008 ROTT packet headers with size info
- README TXT 3,366 This file
- ROTT Network Specification:
- ROTT does all of it's multi-player communication through a user interrupt
- in the range of 0x60 - 0x66. This is all very similar to DOOM.
- Data is passed back in forth between ROTT and the real mode driver by
- means of the ROTTNET structure defined in "ROTTNET.H". "ROTTNET.H" should
- not be changed, since it is compiled into ROTT itself. Here is a
- description of what each item in the ROTTNET structure does:
- typedef struct
- {
- //
- // The interrupt on which ROTT and the caller are to communicate
- //
- short intnum; // ROTT executes an int to send commands
- // communication between ROTT and the driver
- //
- // what type of command we are sending to the real mode driver,
- // a get packet or send packet command
- //
- short command; // CMD_SEND or CMD_GET
- //
- // the destination node when we send packets, and the source node when
- // we receive packets. In network games, the following convention is
- // used for player numbers:
- //
- // For Clients:
- //
- // address 0: their local address
- // address 1: the address of the server
- //
- // For the Packet Server:
- // address 0: local address
- // address 1: address of player 1, if standalone
- // local address if client on top of server
- // but still the address of player 1
- // address 2: address of player 2
- // address 3: address of player 3
- // address 4: address of player 4
- // .
- // .
- // .
- //
- // In MODEM games the destination and source are pretty unused since
- // only two player are capable of playing.
- //
- // upon getting a packet, if remotenode = -1 there is no packet ready
- //
- short remotenode; // dest for send, set by get (-1 = no packet)
- //
- // length the packet to send
- // length of the packet received
- //
- short datalength; // bytes in rottdata to be sent / bytes read
- // info specific to this node
- //
- // The player number of this node
- // In MODEM games it is either 0 or 1
- //
- // IN NETWORK games
- //
- // player 1 = 1
- // player 2 = 2
- // player 3 = 3
- // etc.
- // passing in a consoleplayer value of 0 signifies standalone server
- //
- short consoleplayer; // 0-(numplayers-1) = player number
- //
- // numplayers in the game
- //
- short numplayers; // 1-11
- //
- // whether the current computer is a server or a client
- //
- short client; // 0 = server 1 = client
- //
- // whether we are playing a modem or network game
- //
- short gametype; // 0 = modem 1 = network
- //
- // space between packet times
- //
- // 1 = 35 FPS control update speed
- // 2 = 17.5 FPS control update speed
- // 3 = 11.7 FPS control update speed
- // 4 = 8.75 FPS control update speed
- //
- short ticstep; // 1 for every tic 2 for every other tic ...
- //
- // whether this station is capable of sending live remote ridicule
- // ticstep is set to 1 if this is enabled.
- // bandwith of comm device must be capable of 256*35 = 8960 bytes per
- // second.
- short remoteridicule; // 0 = remote ridicule is off 1= rr is on
- // packet data to be sent
- char data[MAXPACKETSIZE];
- } rottcom_t;
- If you have any questions give me a call or drop me a note
- Mark Dochtermann
- (214) 271 - 1365 ext. 210
- paradigm@metronet.com
|