README.TXT 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. ZIP contents
  2. ROTTIPX <DIR> IPX source BC 3.1 format
  3. ROTTSER <DIR> SERIAL source BC 3.1 format
  4. ROTTNET C 4,861 ROTT<->DRIVER interface code
  5. ROTTNET H 1,955 "
  6. RT_NET H 7,008 ROTT packet headers with size info
  7. README TXT 3,366 This file
  8. ROTT Network Specification:
  9. ROTT does all of it's multi-player communication through a user interrupt
  10. in the range of 0x60 - 0x66. This is all very similar to DOOM.
  11. Data is passed back in forth between ROTT and the real mode driver by
  12. means of the ROTTNET structure defined in "ROTTNET.H". "ROTTNET.H" should
  13. not be changed, since it is compiled into ROTT itself. Here is a
  14. description of what each item in the ROTTNET structure does:
  15. typedef struct
  16. {
  17. //
  18. // The interrupt on which ROTT and the caller are to communicate
  19. //
  20. short intnum; // ROTT executes an int to send commands
  21. // communication between ROTT and the driver
  22. //
  23. // what type of command we are sending to the real mode driver,
  24. // a get packet or send packet command
  25. //
  26. short command; // CMD_SEND or CMD_GET
  27. //
  28. // the destination node when we send packets, and the source node when
  29. // we receive packets. In network games, the following convention is
  30. // used for player numbers:
  31. //
  32. // For Clients:
  33. //
  34. // address 0: their local address
  35. // address 1: the address of the server
  36. //
  37. // For the Packet Server:
  38. // address 0: local address
  39. // address 1: address of player 1, if standalone
  40. // local address if client on top of server
  41. // but still the address of player 1
  42. // address 2: address of player 2
  43. // address 3: address of player 3
  44. // address 4: address of player 4
  45. // .
  46. // .
  47. // .
  48. //
  49. // In MODEM games the destination and source are pretty unused since
  50. // only two player are capable of playing.
  51. //
  52. // upon getting a packet, if remotenode = -1 there is no packet ready
  53. //
  54. short remotenode; // dest for send, set by get (-1 = no packet)
  55. //
  56. // length the packet to send
  57. // length of the packet received
  58. //
  59. short datalength; // bytes in rottdata to be sent / bytes read
  60. // info specific to this node
  61. //
  62. // The player number of this node
  63. // In MODEM games it is either 0 or 1
  64. //
  65. // IN NETWORK games
  66. //
  67. // player 1 = 1
  68. // player 2 = 2
  69. // player 3 = 3
  70. // etc.
  71. // passing in a consoleplayer value of 0 signifies standalone server
  72. //
  73. short consoleplayer; // 0-(numplayers-1) = player number
  74. //
  75. // numplayers in the game
  76. //
  77. short numplayers; // 1-11
  78. //
  79. // whether the current computer is a server or a client
  80. //
  81. short client; // 0 = server 1 = client
  82. //
  83. // whether we are playing a modem or network game
  84. //
  85. short gametype; // 0 = modem 1 = network
  86. //
  87. // space between packet times
  88. //
  89. // 1 = 35 FPS control update speed
  90. // 2 = 17.5 FPS control update speed
  91. // 3 = 11.7 FPS control update speed
  92. // 4 = 8.75 FPS control update speed
  93. //
  94. short ticstep; // 1 for every tic 2 for every other tic ...
  95. //
  96. // whether this station is capable of sending live remote ridicule
  97. // ticstep is set to 1 if this is enabled.
  98. // bandwith of comm device must be capable of 256*35 = 8960 bytes per
  99. // second.
  100. short remoteridicule; // 0 = remote ridicule is off 1= rr is on
  101. // packet data to be sent
  102. char data[MAXPACKETSIZE];
  103. } rottcom_t;
  104. If you have any questions give me a call or drop me a note
  105. Mark Dochtermann
  106. (214) 271 - 1365 ext. 210
  107. paradigm@metronet.com