Source

doom / src / _doc / legacy.html

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <link rel="stylesheet" href="legacy.css" type="text/css"/>
  <meta name="keywords" content="Doom, Legacy, documentation, manual, docs"/>
  <meta name="description" content="Doom Legacy is your premiere source port engine for id Software's classic DOOM games and more!"/>
  <title>Doom Legacy User Reference Manual</title>
</head>

<body>
<div class="column">
<h1>Doom Legacy 1.44 User Reference Manual</h1>


<div class="floatbox">
<ol>
  <li><a href="#intro">Introduction</a></li>
  <li><a href="#install">Install</a></li>
  <li><a href="#gameplay">Basic gameplay</a></li>
  <li><a href="#console">Console</a></li>
  <li><a href="#network">Network games</a></li>
  <li><a href="#cmdline">Commandline options</a></li>
  <li><a href="#notes">Notes</a></li>
</ol>
</div>

<h2 id="intro">INTRODUCTION</h2>
<p>  
  Hello all Doom fans of the world, welcome to the latest release of
  Doom Legacy!
</p>
<p>
  Since Doom was out we have been fans of deathmatching. Don't ask us
  why, but we liked Doom more than Duke Nukem, Quake or other clones.
  We simply enjoy the atmosphere, look and feel of Doom.
  We always dreamed of Doom sources being released. How many days we
  spent talking about the features we'd put in it!
  In the middle of 1997 we heard a rumour that the Doom sources
  would be released. Some months later the miracle happened: In
  December 1997, id Software made the full source code of Doom public.
  A great number of open source projects have started around the sources
  since, and Doom Legacy is competing to be the best of the choices!
</p>
<p>
  Doom Legacy can play Doom, Boom, and Heretic maps.
  In addition to the original games by id Software and Raven Software,
  there are hundreds of free, fan-made maps available on the Internet.
  These maps are typically distributed as PWAD files, which are not
  fully self-contained.
  For each game you will also need the corresponding IWAD data file,
  which contains all the graphics,
  sounds and music in the game. For example, if you want to play Doom II
  maps, you'll need the file "doom2.wad".
  Doom Legacy itself is free software, meaning that you can copy and
  distribute it without charge.
  The original Doom and Heretic IWAD files
  (doom.wad from Doom, doomu.wad from Ultimate Doom,
  doom2.wad from Doom2, tnt.wad or plutonia.wad from Final Doom,
  heretic.wad from Heretic), which are still
  copyrighted products and available commercially.
</p>
<p>
  There are also some free replacement IWADs which can be used instead.
  <a href="http://www.nongnu.org/freedoom/">FreeDoom</a> (doom2.wad or freedoom.wad) is a free substitute for Doom2.
  <a href="http://www.jeshimoth.com/jutegyte/blasphemer/">Blasphemer</a>
  (heretic.wad) is a free substitute for Heretic, but it does
  not have monsters yet (it needs volunteers to work on it!).
  The Legacy engine will recognize and play Chexquest (chex.wad),
  Chexquest2, and Chexquest-Newmaps (newmaps.wad), but not Chexquest3.
</p>
<p>
  In addition to the now
  fundamental <a href="http://doom.wikia.com/wiki/Boom">Boom</a>
  extensions, Legacy also has implemented among other things
  3D floors, swimmable water and other special effects using extended
  linedef codes, and supports the FraggleScript scripting language.
</p>
<p>
  To get started with Legacy, we recommend the following PWADs:
</p>
<ul>
  <li>
    The new editing features are demonstrated in
    Legacy_3ddemo.wad and rainbowstar.wad
  </li>
  <li>
    Wads that use Legacy 3D floors:
    3DHorror.wad, phobia.wad, hth2.wad
  </li>
  <li>
    Deathmatch wads:
    andydm1.wad, shbullet.wad
    Chexquest sequel:
    Chexquest-newmaps.wad
  </li>
</ul>
<p>
  We hope that this new version brings you a lot of enjoyment.
  Have much fun!!
</p>
<p>-The Doom Legacy Team</p>

<h3>What's new</h3>
<p>
  See <a href="whatsnew.html">here</a> for the latest changes.
</p>

<h3>What's coming</h3>
<p>  
  We have planned other features. See our <a href="http://doomlegacy.sourceforge.net">website</a>.
</p>

  
<h2 id="install">INSTALL</h2>

<p>
  Installing Doom Legacy is extremely simple, just follow these steps:
</p>
<ul>
  <li>Unpack the archive</li>
  <li>Start the Launcher</li>
  <li>Fill in required information about WAD locations and hardware options</li>
  <li>Launch the game!</li>
</ul>

<p>
  If you want, you can set the following environment variables to
  have additional control over Legacy behaviour. None of them are
  required.
</p>
<ul>
  <li>
    The environment variable <b>DOOMWADDIR</b> defines the path where
    the wad files are located. This way you can easily share you wad
    files between different programs. By default, Legacy looks for wad
    files in the current directory.
  </li>
  <li>
    The variable <b>USER</b>, containing your username, is used as the
    default value for your player name in multiplayer games.
  </li>
  <li>
    You home directory, defined by the variable <b>HOME</b>, will be
    the place where Legacy stores your config and savegame files.
    If this variable is not defined, they will be stored in the current
    directory.
  </li>
</ul>


<h3>Setting up the game</h3>
<p>
  Legacy uses a configuration file (config.cfg) to setup the game.
  Your personal control settings are saved in your config.cfg file.
  They can be changed by menus in Legacy, and are saved when quitting
  the game.
</p>
<p>
  OpenGL uses a separate file, 'glconfig.cfg', so that the OpenGL
  settings do not disturb an existing config file. This does
  mean that switching to OpenGL requires setting up the controls again.
</p>

  
<h3>Setting up the controls</h3>
<p>
  Setting up the controls, mouse and joystick, video mode etc. is done
  while in the game, using the main game menus: Setup Controls,
  Video Options, Game Options. You can change all game settings
  at any time during the game.
</p>
<p>
  The mouse will be activated by default, to disable it, change
  the 'use_mouse' variable in the console.
  The joystick will not be used as default, set the 'use_joystick'
  variable at the console.
</p>
<p>
  The mouse and joystick sensitivities can be set
  using the console variables!!!
</p>
  

<h3>Setting up the sound</h3>
<ul>
<li>SDL
<p>
  In the SDL version of Legacy the SDL library handles sound. If it
  is installed correctly then Legacy will have sound effects.

  Music requires SDL_mixer version 1.2.7 or later. Earlier SDL_mixer
  versions do not have a working RWOPS interface. Legacy can play music
  using files instead, but this requires recompiling Legacy, allowing it
  to detect the SDL_mixer version.
</p>
</li>

<li>WINDOWS
<p>
  In the Windows native version the sound is autodetected using DirectX so make sure your card works
  well with DirectX and it legacy will us it.

  Additionally the Legacy could utilize the hardware 3D sound
  for making more realistic sound environment.

  Specify -ds3d command line parameter to use generic 3D sound driver
  (DirectSound 3D). This driver are suitable for most 3D sound chips.
</p>
</li>

<li>DOS
<p>
  The sound and music card is auto-detected at the game startup.

  If you don't get any sound in Legacy, check that the BLASTER
  variable is set. Type 'set' at the dos prompt (or dosbox under
  Windows) : do you see a line like 'BLASTER=A220 I5 D1 ...' ?
  If not, run the installation of your soundcard for Dos mode,
  it will usually modify your autoexec.bat so that the BLASTER
  variable will be set. See the FAQ.TXT for more.

  If the BLASTER variable is set, but you still don't hear any
  sounds, or the sounds are not right, then edit the SOUND.CFG
  file, and manually set your type of soundcard, see there for
  more.
</p>
</li>
</ul>  

<h3>Setup Controls menu</h3>
<p>
  You can bind actions to one or two keys, like in all decent games.
  Select an action, press ENTER, and then press the desired key,
  mouse button, or joystick button.

  To CLEAR the keys attached to a control, use the BACKSPACE key.
</p>
<p>
  To setup the DOUBLE CLICK for mouse/joystick buttons: enter the
  click one time, so that it displays, e.g. 'MOUSEBUTTON1'. Then
  re-enter the click a second time, and it will transform into a
  dbl-click, e.g. 'MOUSEBUTTON1' will become 'DOUBLEMOUSE1'.

  You can use double-clicks for any joystick/mouse button, and you
  can attach any action to it.
</p>
<p>
  When controlperkey is "Several", a single key can be set to 
  multiple actions, e.g. go backward and 'use' at the same time.
  Normally when a key is set for an action, other uses of the
  same key are cleared.
</p>


<h3 id=gamma>Gamma controls</h3>
<p>
  The control of gamma is much finer than before. The gamma table is
  now generated from the control settings, instead of using
  four preset gamma tables.
</p>
<p>
  The gamma control functions:
</p>
<ul>
  <li>Gamma: Only has a gamma slider</li>
  <li>Gamma_black: Gamma control and black level control.</li>
  <li>Gamma_bright_black: Gamma control, bright control, and black
    level control.</li>
  <li>Linear: Has bright and black level controls, as two set-points
    of piecewise linear brightness correction. It is included
    for use with LCD displays.</li>
</ul>
<p>
  Controls for gamma function, black level, bright level, and gamma
  are on an options page. The values can also be changed by a
  console set command, or in your personal config.cfg file.
</p>
<div class="code">gammafunc Gamma_bright_black
black -2
gamma 2
bright -1</div>
<p>
  To see the current setting just type the name, without a value.
  Normal levels are black 0, gamma 0.
</p>
<p>
  To set the gamma correction to your preference,
  find a dark area in a wad or use the gamma.wad file
  (i.e. -file gamma.wad).
  Set the black level to give a good looking even gray scale in the
  darkest areas (little gray room in gamma.wad).
  White textures will not go completely to black, but will instead stay
  gray. The software renderer is limited to 32 light levels, so do not try to
  get it perfect in the darkest three gray test strips as it is not
  possible. Instead try to get the gray intervals even. You should be
  able to just barely see an object right in front of you in the darkest
  room, and see white textures across the room as a dark gray patch.
</p>
<p>
  Then go to a normally lit area and adjust gamma to give the
  brightness and evenness of tone that you would expect.
</p>
<p>
  Use the bright control to adjust the brightest outdoor scenes
  after the gamma and black levels are set. Unlike most monitors,
  this bright control actually controls the brightest light levels.
</p>
<p>
  Your preferences may be different. From experiments, trying too
  hard to set a perfect black leads to extreme gamma settings to correct
  for the side effects. It is a compromise, as actual hardware varies,
  and the gamma table equations represent ideal CRT behavior.
  LCD monitor gamma response is even less ideal.
</p>
<p>
  Evenness is usually more important than absolute brightness. The brightness
  appearance is affected greatly by the amount of light over your monitor.
  If the wall textures look harsh, then the gamma is set too high, or
  the black level is set too low.
</p>

<div class="code">
Original Doom gamma settings are at (0, -3, -6, -9, -12).
gamma index : GAMMA value
<dir>
 12: 1.48
 11: 1.44
 10: 1.4
  9: 1.36
  8: 1.32
  7: 1.28
  6: 1.24
  5: 1.2
  4: 1.16
  3: 1.12
  2: 1.08
  1: 1.04
  0: 1.0
 -1: 0.96
 -2: 0.92
 -3: 0.88
 -4: 0.836
 -5: 0.793
 -6: 0.75
 -7: 0.706
 -8: 0.663 
 -9: 0.62
-10: 0.58
-11: 0.54
-12: 0.50
</dir>
</div>

<h2 id="gameplay">BASIC GAMEPLAY</h2>

<h3>Shooting up and down</h3>
<p>
  There's nothing changed, except of course a totally new
  deathmatch experience.
</p>
<p>
  About the BFG: the BFG ball can be fired up or down, but
  the invisible rays that spray from you have always 'autoaim', they're
  not dependent of your up and down aim.
  Let's be clear: apart from being able
  to shoot the BIG BFG BALL up or down, the side-effect of the BFG
  is as before.
</p>
  
<h3>Autoaim toggle</h3>
<p>
  We wanted to keep the compatibility with the traditional Doom gameplay,
  but we needed also to go forward and bring more depth to the
  deathmatches. One of these steps is enabling manual aiming.
</p>
<p>
  You may feel like it's unbalanced if some people use the autoaim,
  as they don't have to make the effort of aiming properly, and others
  don't use it and do their best to aim up and down...
  NEW since Legacy v1.2: with allowautoaim you can
  disable autoaiming, that is, impose manual aim to all players
  in a network game, use with caution!!
</p>

<h3>Weapon changes</h3>
<p>
  We didn't dare of course change the existing weapons functionality!
  You may appreciate however, the fact that you can remap every
  weapon to any key, in the Setup Controls menu. Since you can map two
  keys per 'control', you can keep the original keys '1'-'8' for the
  weapons, and add a shortcut to your preferred ones. eg: '5' and 'r'
  for rockets.
</p>
  
<h3>New cheats</h3>

<dl>
  <dt>idcd##</dt>
  <dd>
    Similar to the 'idcmus##', but for CD Audio tracks.
    Example: 'idcd02' starts cd track 2.
  </dd>
  <dt>idfly</dt>
  <dd>Fly around levels, using the jump key to gain altitude.</dd>
</dl>

  
<h3>Savegame directories</h3>
<p>
  Legacy allows savegame directories, with up to 99 savegames in each
  directory. This feature can be enabled/disabled by a compile time
  option.
</p>
<p>
  The savegame file names include the level name and play time.
  The savegames also have a human-readable header with this and more
  information, including the command line switches used.
</p>
<p>
  The cursor movement keys are up-arrow, down-arrow, page-up, and page-down.<br/>
  The delete key will delete the selected savegame or directory.<br/>
</p>
<p>
  The savegame menus now include a directory name.
  The directory is selected by moving the cursor up to the directory name,
  and pressing ENTER. The menu will present all the existing directory
  names. The blank directory line is the legacy default directory
  which contains all the directories and savegames.
</p>
<p>
  To create a new directory, move to the directory line, press ENTER,
  type in a new directory name, and press ENTER.
</p>


<h3>OpenGL renderer</h3>
<p>
  Legacy includes two different graphics engines, the old Doom
  software renderer and an OpenGL-based hardware renderer.
</p>
<p>
  The OpenGL renderer is faster and shinier than the software one, but
  does not do everything that the software renderer does.
  It does have coronas, and other light effects that the software
  renderer does not do.
</p>


<h2 id="console">CONSOLE</h2>
<p> 
See <a href="console.html">here</a> for more about the console.
</p>

  
<h2 id="network">NETWORK GAMES (MULTIPLAYER)</h2>
<p>  
  Since Legacy 1.2, the network part of Doom has been totally
  rewritten. It now uses a better transfer method for the packets,
  (which is usually faster), and also implements a basic
  Client/Server model, where some critical game options are
  changeable only by the server in multiplayer games.
</p>
<p>
  Since the network communication is faster, we have upped
  the maximum number of players to 32!
</p>


<h3>Client/server model features</h3>
<p>
  The network code has been totally rewritten, here are the
  main features:
</p>
<ul>
  <li>Players can join in while a game is in progress.
    No need to restart the game to add a new player.</li>
  <li>Up to 32 players in a game.</li>
  <li>
    The speed now depends on the server. If the server loses
    frames, all the other players will experience the slow down.
    Thus, make sure that the server runs smooth for example by using a
    lower resolution graphics mode.
  </li>
  <li>
    The server can kick any player out of the game. The player will
    be returned to the title screen.
  </li>
  <li>
    Consistency failure now only kicks out the player who was not
    'up-to-date', not the others.
  </li>
  <li>
    Critical game variables are sent to all the players when they
    are changed on the server, and only the server can change them.
    Examples are 'allowjump', 'respawnitemtime', 'deathmatch', ...
  </li>
</ul>
<p>
  NOTE that there is no 'dedicated' server for now.
</p>


<h3>Setting up a network game</h3>
<p>
  A network game can be started either using the commandline
  parameters -server and -connect, or from the multiplayer menu that
  allows you to connect to a server or create one yourself.
</p>
<p>
  Legacy uses the UDP port 5029 only and can accept messages from any
  port so it works perfectly with NAT (Network Address Translation).

  Because the IP of any computer behind the firewall is not routable 
  the server cannot get a usable IP address during player join-game.
  If you are familiar with IpAutoforward funtionality of Linux,
  you can make a usable IP appear.
</p>

<p>

  * The server types:
  <br>
  <p>Start a server with one of the following server commands.
  One player can play on the server itself. Other switches can also be
  included to select the game and wad.
<br><br>

  &gt; doomlegacy -server &lt;num-of-computers&gt;<br>

  <p>The server will wait until the specified number of computers have
  connected and then will start the game. This is like the old way to
  start a game. It is more fair because all players start at the same
  time and with the same weapons. Of course other computers can also
  join later.
  <br>
  <br>

  &gt; doomlegacy -server <br>
  <p>This starts the server and does not wait for any computers.
  It starts the game immediately. Other players can join later.
  <br>

  
  <br>
  <br>
  <p>* Clients are the other players who join in the server:<br>
  <p>Each additional player connects to the server with one of the following
   connect commands.
<br><br>
  &gt; doomlegacy -connect &lt;ip address of server&gt;<br>
  <p>Connects to a specific server computer using their ip address.

  <br><br>

  &gt; doomlegacy -connect<br>
  <p>This will auto-detect a server on a LAN. This only works when
  computers are directly connected. If you play through internet,
  the server can NOT be auto-detected, and you must specify it's
  IP address.
<br>
<br>
  
  Example A, 3 players on a LAN:<br>
<br>
  player 1 (the server)<br>
  &gt; doomlegacy -server 3<br>
<br>
  player 2 (client)<br>
  &gt; doomlegacy -connect<br>
<br>
  player 3 (client)<br>
  &gt; doomlegacy -connect<br>
<br>
  Example B, 2 players, through internet:<br>
<br>
  player 1 (the server)<br>
  &gt; doomlegacy -server 2<br>
<br>
  player 2 (client)<br>
  &gt; doomlegacy -connect xxx.xxx.xxx.xxx<br>
<br>
  Example C, a 3 player game, with _TWO_ computers, one is split-screen:<br>
<br>
  player 1 (the server)<br>
  &gt; doomlegacy -server 3<br>
<br>
  player 2 and 3 (2 clients on the same computer)<br>
  &gt; doomlegacy -splitscreen -connect<br>
<br>
  
  <p>You don't need to put all parameters on the client side like :
  -deathmatch, -warp xx, -respawn, -fast, etc because the server
  automatically sends those to all clients upon connection.

  <p>Also the -file parameter is not needed by the player anymore. The server
  will send the file needed to the client. Let's say rather the client
  can download it from the server. But of course the client will first
  check for the file in the directory or subdirectory.

  <p>Use '-notime' to disable file date check on clients. Normally
  the game will warn you if a client has a file loaded by the
  server, but with a different date. Clients should have the exact
  same version of the files added by the server.

  <p>You want to know some things : you need a good ping value, perfect
  is less than 30, more than this will be very unplayable, because
  there is not, for the moment, code to reduce the latency between
  command entered at keyboard and command execution.

  <p>In other words, Doom Legacy doesn't use 'interpolation' to make
  you believe like the game is 'smooth' when it is not in reality.
</p>
  

<h3>Multiplayer intermission screen</h3>

<ul>
  <li>FRAGS: the usual frags rankings</li>
  <li>
  BUCHHOLZ: a chess scoring system. You earn more points
  when you frag a good player (one that has a lot of frags at the end
  of the game).
  This is more balanced that the original frags system, because
  you can't get a good score simply by slaughtering clueless newbies.
<p>
  If player i has fragged player j F[i][j] times,
  the total frags of player i are given by T[i] = sum_j F[i][j].
  The Buchholz score of player i is sum_j F[i][j] * T[j].
</p>
  </li>
  <li>
  INDIVIDUAL: the players are all compared 1 to 1, when a
  player wins he earns 3 points, if they draw they each
  get 1 point. Then all the points are added and the
  winner is the one with the most points. This was
  suggested by Cristian Romero (romero-c@usa.net).
  Is is not perfect, but is already interesting enough:
  think of it more 'individual'. You have to make more frags
  compared to each other player to earn points. So you will
  want to go after players that you can make more frags, and
  forget about the ones which have already too much frags
  compared to you. Go for the victories, more than the frags.
  </li>
  <li>DEATHS: this ranking shows the players who have died the most!</li>
</ul>

  
<h2 id="cmdline">COMMANDLINE OPTIONS</h2>

<p>Here are the command-line options Legacy recognizes:</p>

<p>
FIXME console commands cd, gr_stats, nodownload consvar
FIXME video mode lists, window caption, cv_fullscreen..
</p>

<table class="def">
<tr><th>option</th><th>description</th></tr>

<tr><td class="note" colspan="2">
General options
</td></tr>

<tr>
<td>+&lt;console expression&gt;</td>
<td>You can enter any number of <a href="console.html">console expressions</a> at the command line.<br/>
They will be executed right after the configfile, but before autoexec.cfg.</td>
</tr>

<tr>
<td>-iwad &lt;filename&gt;</td>
<td>Set the main IWAD file to use. This determines the game mode.</td>
</tr>

<tr>
<td id="file">-file &lt;filename1&gt; [&lt;filename2&gt;...]</td>
<td>Load one or more additional PWAD or DeHackEd files, possibly
  replacing some of the IWAD data.
</td>
</tr>

<tr>
  <td>-game &lt;game-name&gt;</td>
<td>
  Forces a particular game mode to be used. This replaces renaming
  the wad file. If an IWAD is not explicitly given, the appropriate
  IWAD will be automatically loaded.

  The valid game-name at this time are:
<table class="def">
<tr><th>game-name</th><th>mode</th></tr>
<tr><td>doom, doommode</td><td>Doom1</td></tr>
<tr><td>freedu, doomu, ultimode</td><td>Ultimate Doom</td></tr>
<tr><td>freedoom, freedm, doom2, plutonia, tnt</td><td>Doom2</td></tr>
<tr><td>blasphem, heretic, heremode</td><td>Heretic</td></tr>
<tr><td>heretic1</td><td>Heretic shareware</td></tr>
<tr><td>chex1</td><td>Chexquest</td></tr>

<tr><td class="note" colspan="2">
The following are valid game-names, but the mode is not supported yet.
</td></tr>
<tr><td>hexen, hexemode</td><td>Hexen</td></tr>
<tr><td>hexen1</td><td>Hexen demo</td></tr>
<tr><td>strife</td><td>Strife</td></tr>
<tr><td>strife0</td><td>Strife demo</td></tr>
</table>
  Savegames are now marked with the game name, and will not load
  with a different game name.
</td>
</tr>

<tr>
<td>-home &lt;dirname&gt;</td>
<td>Set your home directory location, where your configfiles and
savegames are kept.</td>
</tr>

<tr>
<td id="config">-config &lt;filename&gt;</td>
<td>Set the configfile to use. Default: config.cfg.</td>
</tr>

<tr>
<td id="mb">-mb &lt;number&gt;</td>
<td>The amount (in MiB) of memory that Legacy allocates for ZALLOC.
<p>
  Otherwise the default of 24 to 80 MiB is used.
  This and the MIN and MAX limits are set by compile time options.
</p>
<p>
  This sets the number of megabytes of memory to allocate to ZALLOC at
  Doom startup. ZALLOC is used for saving the directories, textures,
  and other lumps of the wad files. Executable and stack use other
  memory.
</p>
<p>
  If the amount of requested memory is not available, then it will try for
  half of what is free.
  There are several compile time options for ZALLOC memory allocation,
  the updated Zone allocation, automatic growing Zone allocation,
  and simple and tagged malloc allocations.
</p>
<p>
  The default memory allocator, GROW_ZONE, will grow the memory allocation
  when needed.
  It is no longer critical to set enough memory on the command line,
  although it may make loading smoother.
</td>
</tr>

<tr>
<td>-opengl</td>
<td>Start the game in OpenGL mode. Default: use the software renderer.</td>
</tr>

<tr>
<td>-devparm</td>
<td>Development/debugging mode. Prints out some extra information
  mainly useful for developers, does not grab the mouse.</td>
</tr>

<tr>
  <td>-devgame &lt;game-name&gt;</td>
<td>Development mode using devparm for the specified game, in the same format as -game.
User can include development files from working directories using -file.</td>
</tr>

<tr>
<td>-noversioncheck</td>
<td>Do not check that legacy.wad version matches the executable version.</td>
</tr>

<tr>
<td>-skill &lt;1-5&gt;</td>
<td>Select the skill level, start game immediately.</td>
</tr>

<tr>
<td>-episode &lt;number&gt;</td>
<td>Select the episode, start game immediately.</td>
</tr>

<tr><td class="note" colspan="2">
Video, sound and music
</td></tr>

<tr>
<td>-width &lt;xxx&gt;<br/>
  -height &lt;yyy&gt;
</td>
<td>
  If you like pain, you can set the screen size at the
  command line instead of using the 'Video Mode' menu.
  Legacy will switch to 320x200 if it can't find a
  corresponding mode.
</td>
</tr>

<tr>
<td>-nosound</td>
<td>Disable all sound effects (including music)</td>
</tr>

<tr>
<td>-nomusic</td>
<td>Disable music</td>
</tr>

<tr>
<td>-nocd</td>
<td>Disable CD music</td>
</tr>

<tr>
<td>-precachesound</td>
<td></td>
</tr>


<tr><td class="note" colspan="2">
Networking
</td></tr>

<tr>
<td>-server</td>
<td>Spawn a server.</td>
</tr>

<tr>
<td>-connect [&lt;IP&gt; | &lt;address&gt;]</td>
<td>Connect to a server at the specified address. If no address is
given, search for servers in LAN.</td>
</tr>

<tr>
<td>-port</td>
<td>Set the UDP port to use.</td>
</tr>

<tr>
<td>-ipx</td>
<td>Use IPX network protocol instead of IP.</td>
</tr>

<tr>
<td>-nodownload</td>
<td>Do not download any files from servers.</td>
</tr>

<tr>
<td>-teamplay<br/>
  -teamskin
</td>
<td>
  Similar to the good old -deathmatch, this activates team
  play by either color (teamplay) or skin (teamskin).
</td>
</tr>
</table>



<h2 id="notes">NOTES</h2>

  
<h3>DeHackEd patches</h3>
<p>  
  Doom Legacy supports dehacked patches... of course its
  now done a more subtle way: you just specify the dehacked
  patch file at the command prompt, instead of actually patching the
  executable.
</p>
<p>
  You can specify multiple .deh files using the -file option, and they
  will all be executed, in the order you have given them.
  Also, since version 1.30, Legacy will look for a lump named DEHACKED
  in each wad file and treat the contents as a dehacked patch.
</p>
<p>  
  We don't check for the dehacked patch version, we added support for the
  patches version 6, it should run ok with (not too) old patches.
  If you have a problem with the version of the patch, try to convert it.
  Just load the .deh file into a recent version of Dehacked (3.0),
  and then save it again. It will then be saved as a text-file, that
  Legacy will be able to use.
</p>
<p>
  All text changes are supported, you can edit the .deh manually and
  replace strings by larger strings than the original Doom, it works.
  Sprite renaming works too, well, pretty much anything works :)
</p>

</div>
</body>
</html>