|
|
1.1 ! root 1: WinDoom - V0.96 ! 2: ! 3: 14 Mar, 1998 ! 4: ! 5: CONTENTS: ! 6: ! 7: i. foreword ! 8: 1. What is WinDoom? ! 9: 2. Program requirements ! 10: 3. Setting up WinDoom ! 11: 4. The console ! 12: 5. Changing your controls ! 13: 6. Using hi-res mode ! 14: 7. Playing a network game ! 15: a. Acknowledgments ! 16: ! 17: --------------------------------------------------------------------- ! 18: ! 19: i. Foreword - What's new with this version? ! 20: ! 21: 1. Fixed bug that kept left alt key from working. ! 22: ! 23: 2. Fixed "exit crash" bug. ! 24: ! 25: 3. Various memory leaks plugged. ! 26: ! 27: 4. Changed bind command to allow for key scancode entry. This was ! 28: done solely to allow for foreign keyboard (or Dvorak) owners to ! 29: customize their controls. You still can't change the weapons ! 30: keys nor can you change the console or menu keys. ! 31: ! 32: NOTE: I cannot stress enough that you MUST have DirectX 5 installed ! 33: and working on your machine for this program to work. If you ! 34: don't have DirectX 5, IT WILL NOT WORK. And no amount of com- ! 35: plaining to me about it will change that. ! 36: ! 37: --------------------------------------------------------------------- ! 38: ! 39: 1. What is WinDoom? ! 40: ! 41: Thanks go first to id Software for making a great game then releasing ! 42: the source code to it so we could have something else to play with. ! 43: ! 44: I have changed no gameplay at all. You CAN use some new cheat codes ! 45: in the console but about all you can do now is get the backpack you ! 46: couldn't get by cheating before. ! 47: ! 48: WinDoom is my version (so far) of a Win32 port of the Linux Doom ! 49: source code released by id Software. I have gotten most of the ! 50: features of the original program working but it isn't quite finished ! 51: yet. It does odd things occasionally. ! 52: ! 53: Please DO E-Mail me with problems you've had with this especially if ! 54: you can't get it working at all. I already know of most of the ! 55: problems you may encounter and I am already addressing them. But I ! 56: want feedback about any problems you encounter. There is a file ! 57: generated in your game directory called windoom.dbg. It contains ! 58: some data that will probably be helpful to me in debugging whatever ! 59: problem you've encountered. Screenshots may be helpful, too. ! 60: ! 61: I have several very different systems to test this on and a LAN as ! 62: well but I couldn't possibly duplicate the variety of systems you ! 63: all have. Running it on your systems is the best testing I can get. ! 64: ! 65: I know this is more like a public Beta test but I did want to share ! 66: what I have done so far, though. ! 67: ! 68: Also, please don't send me E-Mails asking for features or changes. ! 69: There will be time enough for that after the game actually works ! 70: properly. Please don't ask me to fix bugs in the original game. I'm ! 71: just trying to make sure that changes I've made haven't introduced ! 72: new bugs. ! 73: ! 74: New revisions will be forthcoming soon. ! 75: ! 76: Also, when I've got all the original Doom features working and the ! 77: program stabilized, I will release my source code for the program. ! 78: ! 79: To anyone working on their own Win32 ports of Doom: If you want to ! 80: share programming information then all you have to do is ask. I'll ! 81: tell you whatever I know if it will help. I AM going to release my ! 82: modified source code when I get this stabilized. ! 83: ! 84: A few new things have been added along the way. ! 85: ! 86: 1. A print screen key is now always available by pressing ! 87: the (Print Screen/Sys Rq) key on your keyboard. If you ! 88: aren't playing a game, no message will appear on the ! 89: screen but a print screen PCX file WILL be generated. ! 90: ! 91: 2. I have added a console similar to the Quake/Quake II ! 92: console. It isn't as fancy and no doubt not as functional ! 93: as the Quake console but it works and any keyboard command ! 94: such as the cheats can be entered in the console. Also, ! 95: all messages that appear on the screen briefly will be ! 96: displayed in the console. The console key is the "`" ! 97: key. ! 98: ! 99: 3. As you see above, a CD player is now supported. A number ! 100: of features are planned for this (playlists, directory, ! 101: naming, song naming, etc.) Trying to play a CD with no ! 102: CD in the drive will do nothing. Removing the CD from the ! 103: drive while playing will result in the MIDI song being ! 104: restarted. The CD player will detect if the CD has been ! 105: changed and start playing on the first music track (if ! 106: there is one) and will not play if there are no music ! 107: tracks. ! 108: ! 109: 4. Midi file playing. Currently a single MIDI file will be played ! 110: (if it exists) in the game directory. The name of this file is ! 111: doomsong.mid. It can be any valid MIDI file. It will be played ! 112: ALL the time unless you turn on the CD player. ! 113: ! 114: 5. There is now an "always_run" key. I got this idea from Chi ! 115: Hoang and his DOSDoom. The always_run key is the <CAPS LOCK> ! 116: key and it toggles between on and off. ! 117: ! 118: 6. There is an "mvert" setting and an "mvert" key to toggle it on ! 119: and off. It is persistent (gets saved and restored). ! 120: ! 121: 7. Keyboard bindings have been added. ! 122: ! 123: 8. Mouse and joystick bindings have been added. ! 124: ! 125: 9. The system uses keyboard scancodes exclusively for system ! 126: controls. All other values in windoom.ini are true=1 and ! 127: false=0. true=on, false=off ! 128: ! 129: 10.The ability to record, stop and play back demo from the console. ! 130: This is currently not working properly. You can try it but it ! 131: probably won't work right. ! 132: ! 133: --------------------------------------------------------------------- ! 134: ! 135: 2. Program Requirements ! 136: ! 137: This program is a Win32 application and REQUIRES DirectX 5 ! 138: (available for NT). It would not have been possible to do ! 139: what was done with DirectX 3. DirectX 5 will be supported in ! 140: the 5.0 version of NT. If you have Windows95 and you don't have ! 141: DirectX 5, you can get it here: ! 142: ! 143: http://www.microsoft.com/msdownload/directx5/directx5.htm ! 144: ! 145: If you have NT 4.0 and want DirectX 5 you'll have to look around ! 146: for it. It's there but I don't know a stable place you can ! 147: download it from. ! 148: ! 149: If you want to run ANYTHING under Windows95 you really should ! 150: have at least 16 Meg of RAM. 32 Meg is MUCH better. NT better ! 151: have 32 to start with. ! 152: ! 153: You must have a functioning TCP/IP connection to play a ! 154: network game using this program. Internet play is not stable ! 155: at all and not recommended. ! 156: ! 157: You CAN play with just the keyboard but both the mouse and ! 158: a joystick (or other game controller) are supported. ! 159: ! 160: There is a way for people who use NT 4 to run this program. ! 161: There is a version of DirectX 5 for NT 5 floating around the ! 162: Internet. I found it at www.op3dfx.com on the 15 Jan, 1998 ! 163: news page. It appears to be the DirectX 5 from the NT 5 beta. ! 164: I don't know that this is supposed to be distributed but I ! 165: downloaded it and installed it on my NT 4.0 Server and it ! 166: works. ! 167: ! 168: As far as I can tell, no resolutions below 640x480 are supported ! 169: by the DirectX 5 for NT drivers. ! 170: ! 171: ! 172: --------------------------------------------------------------------- ! 173: ! 174: 3. Setting up WinDoom ! 175: ! 176: Create a directory and put the WinDoom.exe program in it ! 177: along with the Doom IWAD of your choice (I've tested this ! 178: with all three of the Doom I wads (doom1.wad, doom.wad and ! 179: doomu.wad) as well as doom2.wad, tnt.wad and plutonia.wad. ! 180: ! 181: The order of precedence in looking for an IWAD is this: ! 182: ! 183: doom2.wad - retail Doom II wad file ! 184: plutonia.wad - Another Doom II IWAD from id ! 185: tnt.wad - Another Doom II IWAD from id ! 186: doomu.wad - ultimate Doom I retail wad file ! 187: doom.wad - Doom I registered shareware wad ! 188: doom1.wad - Doom I unregistered shareware wad ! 189: ! 190: When the program is first run, it will create a section in ! 191: the win.ini file for WINDOOM that stores the location of ! 192: the WinDoom program. If you move the program or change the ! 193: name of the directory in which the program is installed you ! 194: need to update this ini file entry or remove it. ! 195: ! 196: An ini file will be created (or updated) in the directory ! 197: in which WinDoom is run with the configuration information ! 198: for the program. Modifying this file is currently the only way ! 199: to change some of the mouse/joystick mappings. ! 200: ! 201: A way to change your keyboard mappings and the values for your ! 202: mouse and joystick has been added to the console in the program. ! 203: ! 204: Make sure your shortcut, if you create one, has the directory ! 205: where you installed the program as the working directory. It ! 206: probably won't run otherwise. ! 207: ! 208: I have not tried some of the original command line options to see ! 209: if they work or not. I have spent most of my time writing code ! 210: to get the program working. I will be testing the rest of these soon. ! 211: ! 212: I have tested the following and know that they work: ! 213: ! 214: -nomonsters ! 215: -deathmatch ! 216: -altdeath ! 217: -net ! 218: -skill ! 219: -warp ! 220: -episode ! 221: -playdemo ! 222: -timedemo ! 223: -record ! 224: -file ! 225: -width ! 226: -height ! 227: ! 228: For information on how to use the options other than -net, -width ! 229: and -height please see the official Doom FAQ. ! 230: ! 231: I don't know of any others that are normally usable. ! 232: ! 233: ! 234: ---------------------------------------------------------------- ! 235: ! 236: 4. The console ! 237: ! 238: This program does not currently support the original music from ! 239: the game. It is stored in a format called "MUS" and is not ! 240: directly playable by the MCI midi sequencer in Windows. ! 241: ! 242: In order to still have music in the game, I wrote some routines ! 243: to access and control the cd player that is found in most pc's ! 244: today. ! 245: ! 246: I made a vain attempt to map the cd controls into unused keys ! 247: in the Doom keyboard but no combination I could think of made ! 248: any sense. So I created a console where cd commands could be ! 249: entered. ! 250: ! 251: While I was testing the code for controlling the cd player from ! 252: the console, I remembered what an absolute pain it was to try ! 253: to enter cheat codes without being able to tell if the keys ! 254: were entered properly. I decided to allow cheat code entry ! 255: into the console as well so I could see what I was typing. ! 256: ! 257: I then decided to add NEW cheat codes that were similar to ! 258: the ones I had gotten used to in Quake and Quake II. It sort ! 259: of ballooned from there... ! 260: ! 261: The console command key is "`". This key both opens and closes ! 262: the console. The menu command key <ESC> also closes the console ! 263: and starts the menu. If the menu is up when you press the console ! 264: command key, the menu will close and the console will open. ! 265: ! 266: Here is a list of the commands you can now enter on the command ! 267: line of the console: ! 268: ! 269: iddqd - god mode ! 270: idfa - full ammo ! 271: idkfa - keys full ammo ! 272: idclev - change level ! 273: idchoppers - chainsaw and invulnerability ! 274: idclip - no clipping toggle ! 275: idspispopd - no clipping toggle ! 276: idbeholdi - invisibility ! 277: idbeholdv - invulnerability ! 278: idbeholds - strength (berserk pack) ! 279: idbeholdr - radiation/environment suit ! 280: idbeholdl - light amplification goggles ! 281: idbeholda - all map cheat ! 282: cd on - starts your cd player (switches from midi) ! 283: cd off - stops your cd player (switches to midi) ! 284: cd pause - pause/resume cd music toggle ! 285: cd resume - pause/resume cd music toggle ! 286: cd next - play next song on cd ! 287: cd + - play next song on cd ! 288: cd prev - play previous song on cd ! 289: cd - - play previous song on cd ! 290: cd XX - plays song number specified in XX 00 to 99 ! 291: midi pause - pauses/resumes the midi playback (toggle) ! 292: midi resume - pauses/resumes the midi playback (toggle) ! 293: quit - quits the game (immediately) ! 294: god - enable god mode (degreelessness?) toggle ! 295: map - e?m? or map?? (Doom I or Doom II map names) ! 296: noclip - no clipping toggle ! 297: give all - gives full ammo,armor,health,weapons,keys ! 298: give ammo - gives full ammo ! 299: give armor - gives full armor ! 300: give health - give 100% health ! 301: give weapons - gives all weapons ! 302: give keys - gives all keys ! 303: give backpack - gives ammo backpack ! 304: always_run X - toggles always run 0 = off, 1 = on ! 305: swap_stereo X - toggles swap left/right 0 = off, 1 = on ! 306: bind - binds a value to a cvar ! 307: record - records a demo in new demo II format ! 308: finish - stops recording a demo II format demo ! 309: play - plays back a demo II format demo ! 310: cmdlist - lists console commands ! 311: ! 312: The map and idclev commands are disabled from the console ! 313: during a network game. It crashes the machine you do it ! 314: on and locks up the KEY player's machine. The other players ! 315: can exit the game but their systems are VERY slow. (You ! 316: have to hold the keys longer.) ! 317: ! 318: All the original cheat codes work EXACTLY as they did ! 319: originally. No changes have been made to those. The ! 320: new MAP command works similarly to the MAP command in ! 321: Quake/QuakeII. If you want to select a Doom 1 or Doom ! 322: II level you type in MAP then the full name of the ! 323: map you want to load (E1M7 or MAP19). ! 324: ! 325: All the cheats are disabled during network games, also. ! 326: Note: This does not include the game control commands, ! 327: just the "cheats". ! 328: ! 329: A number of other commands are planned for this. Mostly ! 330: just game variables that you can set. (like always_run) ! 331: ! 332: All game input is dead while the console is active, so ! 333: be warned! The <ESCAPE> key as well as the "`" key will ! 334: terminate the console. Any command that you have not ! 335: pressed <ENTER> to complete will be thrown away. The ! 336: menu and console shut each other down when you call ! 337: them up. They are mutually exclusive. ! 338: ! 339: ! 340: ---------------------------------------------------------------- ! 341: ! 342: 5. Changing your controls ! 343: ! 344: ! 345: With the "bind" command on the console, you can now change ! 346: your keyboard mappings from the console. Additional mappings ! 347: and controls will be added later. ! 348: ! 349: The bind command works backwards from the Quake bind command. ! 350: You enter the bind command, the cvar you want a keystroke bound ! 351: to followed by the key or the keyname. ! 352: ! 353: Some keys are not printable and so are accessed through their ! 354: keyname. Other keys are printable and accessed directly by ! 355: entering the actual key. ! 356: ! 357: The following are the keyboard control cvars that have been ! 358: implemented so far: ! 359: ! 360: key_right - the key to turn right - also used in menu ! 361: key_left - the key to turn left - also used in menu ! 362: key_up - the key to move forward - also used in menu ! 363: key_down - the key to move backward - also used in menu ! 364: key_strafeleft - key used to slide to the left ! 365: key_straferight - key used to slide to the right ! 366: key_fire - key used to fire weapons ! 367: key_use - key used to open doors and flip switches ! 368: key_strafe - toggle key used to change turn to strafe ! 369: key_speed - key used to go faster (straight or turning) ! 370: joyb1 - joystick button 1 ! 371: joyb2 - joystick button 2 ! 372: joyb3 - joystick button 3 ! 373: joyb4 - joystick button 4 ! 374: mouseb1 - left mouse button ! 375: mouseb2 - right mouse button ! 376: mouseb3 - middle mouse button ! 377: ! 378: These cvars can be set to any printable character or they ! 379: can be set to any of the following key names: ! 380: ! 381: NULL - do nothing ! 382: BACK - back-space ! 383: ENTER - normal enter key (may not function properly) ! 384: LCTRL - left control key ! 385: LSHIFT - left shift key ! 386: RSHIFT - right shift key ! 387: LALT - left alt key ! 388: SPACE - space bar ! 389: CAPS - caps lock key ! 390: NUMLOCK - numlock lock key ! 391: SCROLL - scroll lock key ! 392: PAD7 - 7/home key on keypad ! 393: PAD8 - 8/up arrow on keypad ! 394: PAD9 - 9/page up on keypad ! 395: PAD- - the "-" key on keypad ! 396: PAD4 - 4/left arrow on keypad ! 397: PAD5 - 5 key on keypad ! 398: PAD6 - 6/right arrow on keypad ! 399: PAD+ - the "+" key on keypad ! 400: PAD1 - 1/end key on keypad ! 401: PAD2 - 2/down arrow on keypad ! 402: PAD3 - 3/page down on keypad ! 403: PAD0 - 0/insert on keypad ! 404: PAD. - ./delete on keypad ! 405: PADENTER - enter key on keypad ! 406: RCTRL - right control key ! 407: PAD/ - the "/" key on keypad ! 408: RALT - right alt key ! 409: HOME - home key (grey) ! 410: UP - up key (grey) ! 411: PAGEUP - page up (grey) ! 412: LEFT - left arrow (grey) ! 413: RIGHT - right arrow (grey) ! 414: END - end key (grey) ! 415: DOWN - down key (grey) ! 416: PAGEDOWN - page down (grey) ! 417: INSERT - insert key (grey) ! 418: DELETE - delete key (grey) ! 419: ! 420: The bind command currently works backward from the bind command ! 421: in Quake. The Quake bind command binds commands to keys. This ! 422: bind command binds keys to commands. A subtle but important ! 423: difference. (and one that may change) ! 424: ! 425: Doom was designed with only a few customizable commands. The ! 426: rest are set and unchangable. Quake was designed with a very ! 427: different idea about how the controls should work. ! 428: ! 429: Doom may, at a later date, be converted to use the type of ! 430: command control that Quake uses. For now I have stayed with ! 431: the original command implementation. ! 432: ! 433: The commands in Doom are referred to as cvars. ! 434: ! 435: The bind command syntax works like this: ! 436: ! 437: BIND KEY_USE SPACE ! 438: ! 439: Which will bind the space bar to the use cvar. You will get a ! 440: message if the bind command is successful telling you that the ! 441: cvar is bound to the key you specified like this: ! 442: ! 443: CMD KEY_USE BOUND TO SCANCODE 57 ! 444: ! 445: In this case the space bar has a keyboard scan code of 57. ! 446: ! 447: If the keyboard command you are trying to bind to a command ! 448: cvar does not exist, you will get this error message: ! 449: ! 450: BIND ERROR: INVALID KEY VALUE ! 451: ! 452: If the keyboard command cvar you are trying to bind does ! 453: not exist, you will get this error message: ! 454: ! 455: BIND ERROR: INVALID CVAR ! 456: ! 457: There is also another type of command you can issue at the ! 458: console which is not listed above because it is used to ! 459: set the value of some game control cvars. ! 460: ! 461: Control cvars are not the same as command cvars. Command ! 462: cvars are used to generate program input. Control cvars ! 463: are used to control the way the program behaves. ! 464: ! 465: The currently defined control cvars are: ! 466: ! 467: always_run - you always run in the game ! 468: swap_stereo - reverses stereo sound "panning" ! 469: usemouse - is mouse input available ! 470: mousebfire - which mouse button is used to "fire" ! 471: mousebstrafe - which mouse button toggles "strafe" ! 472: mousebforward - which mouse button moves you forward ! 473: usejoystick - is joystick input available ! 474: joybfire - which joystick button is used to "fire" ! 475: joybstrafe - which joystick button toggles "strafe" ! 476: joybuse - which joystick button opens doors/flips switches ! 477: joybspeed - which joystick button makes you run ! 478: mvert - 0 = mouse normal, 1 = mouse left/right only ! 479: ! 480: The syntax for using these controls is simple. You enter the ! 481: name of the cvar and the value you wish to assign to it like ! 482: this: ! 483: ! 484: always_run 0 ! 485: ! 486: If the cvar is valid and the value is within the acceptable ! 487: limits, you will get a message like this: ! 488: ! 489: always_run SET TO 0 ! 490: ! 491: If you enter an invalid cvar name, you will get this error ! 492: message: ! 493: ! 494: ERROR: INVALID CVAR ! 495: ! 496: If you enter a valid cvar name but enter an invalid value for ! 497: it, you will get this error message: ! 498: ! 499: ERROR: INVALID VALUE ! 500: ! 501: The usemouse and usejoystick cvars tell the program whether ! 502: you want to use mouse and/or joystick input if either or both ! 503: are available. ! 504: ! 505: The value of 0 for either of these turns off the support for ! 506: that device. A value of 1 turns it back on. ! 507: ! 508: The button numbers for the mouse and joystick start at 0 rather ! 509: than 1. So a two button mouse has buttons 0 and 1. The left and ! 510: right mouse buttons respectively. A joystick with two buttons ! 511: also has buttons 0 and 1. Which button is which usually depends ! 512: on the joystick but the trigger is usually button 0 while the ! 513: the other buttons are numbered starting at 1. Some experimen- ! 514: tation may be required before you get the buttons to work the ! 515: way you expect them to. ! 516: ! 517: Remember that usemouse must be set to 1 to be able to use a ! 518: mouse and usejoystick must be set to 1 to be able to use a ! 519: joystick with the program. ! 520: ! 521: The functions defined in the cvars list are ALL the functions ! 522: that could ever be assigned to mouse and joystick controls in ! 523: Doom. No other functions have ever been possible. ! 524: ! 525: The changes you make to your controls with this are immediate ! 526: and persistent. (meaning that they are saved in the windoom.ini ! 527: file and are used the next time you start the WinDoom) ! 528: ! 529: ! 530: ---------------------------------------------------------------- ! 531: ! 532: 6. Using hi-res mode ! 533: ! 534: ! 535: Part of the reason for porting this code to Win32 was to be ! 536: able to use high resolution video modes. ! 537: ! 538: This program supports all video 8 bit (256) color modes that are ! 539: available with the DirectDraw drivers on your computer. Some are ! 540: not recommended. Do NOT try to use video modes where the height ! 541: value is greater than the width value. (i.e. 320x400) You will ! 542: NOT be happy with the result and the program will probably die. ! 543: ! 544: In order to know what video modes are available to you, you can ! 545: look in the DirectX applet in your control panel or you can run ! 546: the program once and look at the contents of the windoom.dbg ! 547: file created in the directory where you installed the program. ! 548: ! 549: Once you have run WinDoom a video mode list will be written to ! 550: the windoom.dbg file. You can pick a mode from this list as ! 551: long as the height does not exceed the width and the color bits ! 552: value is 8. ! 553: ! 554: I have had some machines not give a picture when running in some ! 555: of the high resolution modes even though the program was running. ! 556: I could press escape, down, enter and "y" to exit the program ! 557: but I never saw any output from the game. I don't know what ! 558: causes this. I am investigating it. If you have this problem ! 559: please notify me and tell me what video setup you have. ! 560: ! 561: The syntax for high the resolution modes is: ! 562: ! 563: -width xxxx -height yyy ! 564: ! 565: where the xxxx is the width you want to use (like 320) and the ! 566: yyy is the height you want to use (like 240). So to start ! 567: WinDoom and run the program at 640x480 resolution, you would ! 568: put the following parameters on the command line of your WinDoom ! 569: shortcut: ! 570: ! 571: -width 640 -height 480 ! 572: ! 573: You can access the command line for your shortcut by right ! 574: clicking the mouse on the shortcut then selecting the properties ! 575: option then clicking on the properties tab in the dialog box. ! 576: ! 577: ! 578: DISCLAIMER ! 579: ! 580: I make absolutely NO warrantees of any kind for this ! 581: program. I am not responsible for any consequences ! 582: of anyone using this program. ! 583: ! 584: id Software owns the rights to Doom and to the source ! 585: code they distributed. This program was compiled from ! 586: source code to that game that was modified by me. So ! 587: don't bug id Software if you've got a problem with ! 588: this program. I'm the one who screwed up. Tell me. ! 589: ! 590: ! 591: --------------------------------------------------------------------- ! 592: ! 593: 7. Playing a network game ! 594: ! 595: Okay, this is little different than a DOS Doom network game. ! 596: It's just like the Linux parameters, though. ! 597: ! 598: What you want to do is create a shortcut to your game and ! 599: then change the parameters of your shortcut to include the ! 600: network commands on the command line. ! 601: ! 602: The parameter to start a network game is "-net" (without the ! 603: quotes). You then follow the -net command with the player ! 604: number your machine is going to be (1 to 4) and the IP ! 605: addresses or hostnames of the OTHER systems you will be ! 606: playing with. The IP addresses MUST be preceded by a period ! 607: ".". If you leave off the leading period, the game will ! 608: think that the IP address is a hostname and try to resolve ! 609: it into an IP address (and die on you). ! 610: ! 611: Sample command lines for two players would look like this: ! 612: ! 613: machine 1: (hostname: rimmer IP address: 192.168.1.5) ! 614: windoom -net 1 holly -deathmatch -nomonsters ! 615: OR ! 616: windoom -net 1 .192.168.1.4 -deathmatch -nomonsters ! 617: ! 618: machine 2: (hostname: holly IP address: 192.168.1.4) ! 619: windoom -net 2 rimmer -deathmatch -nomonsters ! 620: OR ! 621: windoom -net 2 .192.168.1.5 -deathmatch -nomonsters ! 622: ! 623: In order to use hostnames rather than IP addresses you ! 624: must either have DNS setup or have a valid hosts file. ! 625: ! 626: If you add a third or fourth machine to the game you need ! 627: to add the IP addresses of the OTHER machines to the ! 628: command line on each machine. You do not put your own ! 629: machine's IP address on the command line. You also ! 630: do not put how many machines are in the game after the ! 631: -net command. Only which player, out of the 4, you are. ! 632: ! 633: The player numbers must be contiguous. You can't have ! 634: players 1,2 and 4. Also, one player MUST be player 1. ! 635: Player 1 is the KEY player and that machine coordinates ! 636: all the other systems. ! 637: ! 638: The number of players in the game is determined by how ! 639: many IP addresses you put on the command line plus your ! 640: machine. ! 641: ! 642: The command line on the KEY player's machine in a four ! 643: player game might look like this: ! 644: ! 645: windoom -net 1 .192.168.1.3 .192.168.1.4 .192.168.1.5 -deathmatch -nomonsters ! 646: OR ! 647: windoom -net 1 cat holly rimmer -deathmatch -nomonsters ! 648: ! 649: The other player's command lines in the same game might ! 650: look like this: ! 651: ! 652: windoom -net 2 lister holly rimmer -deathmatch -nomonsters ! 653: OR ! 654: windoom -net 2 .192.168.1.2 .192.168.1.4 .192.168.1.5 -deathmatch -nomonsters ! 655: ! 656: windoom -net 3 lister cat rimmer -deathmatch -nomonsters ! 657: OR ! 658: windoom -net 3 .192.168.1.2 .192.168.1.3 .192.168.1.5 -deathmatch -nomonsters ! 659: ! 660: windoom -net 4 lister cat holly -deathmatch -nomonsters ! 661: OR ! 662: windoom -net 4 .192.168.1.2 .192.168.1.3 .192.168.1.4 -deathmatch -nomonsters ! 663: ! 664: If you start a network game and the program appears to be ! 665: "hung" (black screen only), press and hold the escape ! 666: key for a few seconds. The program will terminate. It ! 667: generates an error when shutting down but it doesn't ! 668: affect game play. I should have that error figured out ! 669: soon. ! 670: ! 671: I DO NOT know if the UDP datagrams used are robust enough ! 672: to allow this to be played over the internet. My assumption ! 673: is that it would be but I don't know. I haven't tried it. ! 674: ! 675: I have started up a four player game on my network and ! 676: played at all four stations. Response was good and play ! 677: appeared to be smooth. ! 678: ! 679: I'd be interested to know if anyone is able to play this ! 680: over the Internet with all the problems that entails. I can't ! 681: because of my router. ! 682: ! 683: --------------------------------------------------------------------- ! 684: ! 685: a. Acknowledgements ! 686: ! 687: Thanks to all of you who have downloaded the program (I'm not ! 688: calling it a game. The game part comes from id!). Your feedback ! 689: has been very helpful and has made this a better program. ! 690: ! 691: And to those of you who have had problems. I thank you for ! 692: your patience while I worked out the bugs you've reported. ! 693: ! 694: Thanks again to id Software for making Doom. ! 695: ! 696: Thanks to Chi Hoang, Andy Bay, and Bernd Kreimeier for the ! 697: programming ideas. ! 698: ! 699: Thanks to the other members of Project Doom for their support ! 700: and interest. ! 701: ! 702: Thanks to John Carmack, John Cash, Michael Abrash, Brian Hook ! 703: for letting me peek over your shoulder (figuratively speaking) ! 704: occasionally. It's been very instructive. ! 705: ! 706: ! 707: Microsoft(tm)(c) 1975-1998, Microsoft, Inc., All Rights Reserved. ! 708: Quake(R)(c) 1996, id Software, Inc. All Rights Reserved. ! 709: Quake II(R)(c)1997, id Software, Inc. All Rights Reserved. ! 710: DOOM(R)(c) 1993, id Software, Inc. All Rights Reserved. ! 711: DOOM(R) and the DOOM image are registered trademarks of ! 712: id Software, Inc. ! 713: ! 714: --------------------------------------------------------------------- ! 715: ! 716: WARNINGS! ! 717: ! 718: This program is by no means ready for prime time but it does work ! 719: mostly. The original music was a large part of Doom for some of ! 720: us and this game isn't complete without it. It IS being worked on. ! 721: It may not be possible, however, to play against other versions of ! 722: Doom with this code. I DO have the specifications for the IPX ! 723: protocol used by the original Doom and I will attempt to make that ! 724: work as well. ! 725: ! 726: Supporting DOS Doom in network games is, therefore, doubtful but ! 727: it may happen. However if Chi and I can maintain the same message ! 728: data for the networking, you should be able to play network games ! 729: between the two. ! 730:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.