?? windoom.doc
字號:
WinDoom - V0.95
16 Feb, 1998
CONTENTS:
i. foreword
1. What is WinDoom?
2. Program requirements
3. Setting up WinDoom
4. The console
5. Changing your controls
6. Using hi-res mode
7. Playing a network game
a. Acknowledgments
---------------------------------------------------------------------
i. Foreword - What's new with this version?
1. You can now record, stop and playback demos from the console.
Unfortunately they get out of sync and won't play back properly.
I haven't been able to figure out what is out of whack with
this. If I figure it out, I will post an update. They work
but they don't work properly.
Originally, you could only record demos from the beginning of
a Doom level because the level (and player[s]) state information
was not part of the demo. The demo was just a series of actions
the player took.
This version of WinDoom adds a new demo type and a new lump type,
"dem". This new type of lump contains the saved game state at
the time the demo was started. All the players' weapons, health
ammo, etc. are saved as part of the demo.
There are three new commands for the console to handle these
demos and two new command line options: record, finish and play.
These commands record, stop recording and play back the new type
of demos.
There are also two new command line options: -playdemo2 and
-timedemo2. These commands are to play back and run timedemo
the new type of demos.
As with the original command line options there is no need to
put the file extension (.dem in this case) on the file name. It
will be added automatically. This is true for both recording,
playback and timedemo2.
2. Added a new command to the console to show the command list.
3. Added linkage back for the paired keys (ctrl, alt and shift).
4. Fixed bug that kept left shift key from working.
---------------------------------------------------------------------
1. What is WinDoom?
Thanks go first to id Software for making a great game then releasing
the source code to it so we could have something else to play with.
I have changed no gameplay at all. You CAN use some new cheat codes
in the console but about all you can do now is get the backpack you
couldn't get by cheating before.
WinDoom is my version (so far) of a Win32 port of the Linux Doom
source code released by id Software. I have gotten most of the
features of the original program working but it isn't quite finished
yet. It does odd things occasionally.
Please DO E-Mail me with problems you've had with this especially if
you can't get it working at all. I already know of most of the
problems you may encounter and I am already addressing them. But I
want feedback about any problems you encounter. There is a file
generated in your game directory called windoom.dbg. It contains
some data that will probably be helpful to me in debugging whatever
problem you've encountered. Screenshots may be helpful, too.
I have several very different systems to test this on and a LAN as
well but I couldn't possibly duplicate the variety of systems you
all have. Running it on your systems is the best testing I can get.
I know this is more like a public Alpha test but I did want to share
what I have done so far, though.
Also, please don't send me E-Mails asking for features or changes.
There will be time enough for that after the game actually works
properly. Please don't ask me to fix bugs in the original game. I'm
just trying to make sure that changes I've made haven't introduced
new bugs.
New revisions will be forthcoming soon.
Also, when I've got all the original Doom features working and the
program stabilized, I will release my source code for the program.
To anyone working on their own Win32 ports of Doom: If you want to
share programming information then all you have to do is ask. I'll
tell you whatever I know if it will help. I AM going to release my
modified source code when I get this stabilized.
A few new things have been added along the way.
1. A print screen key is now always available by pressing
the (Print Screen/Sys Rq) key on your keyboard. If you
aren't playing a game, no message will appear on the
screen but a print screen PCX file WILL be generated.
2. I have added a console similar to the Quake/Quake II
console. It isn't as fancy and no doubt not as functional
as the Quake console but it works and any keyboard command
such as the cheats can be entered in the console. Also,
all messages that appear on the screen briefly will be
displayed in the console. The console key is the "`"
key.
3. As you see above, a CD player is now supported. A number
of features are planned for this (playlists, directory,
naming, song naming, etc.) Trying to play a CD with no
CD in the drive will do nothing. Removing the CD from the
drive while playing will result in the MIDI song being
restarted. The CD player will detect if the CD has been
changed and start playing on the first music track (if
there is one) and will not play if there are no music
tracks.
4. Midi file playing. Currently a single MIDI file will be played
(if it exists) in the game directory. The name of this file is
doomsong.mid. It can be any valid MIDI file. It will be played
ALL the time unless you turn on the CD player.
5. There is now an "always_run" key. I got this idea from Chi
Hoang and his DOSDoom. The always_run key is the <CAPS LOCK>
key and it toggles between on and off.
6. There is an "mvert" setting and an "mvert" key to toggle it on
and off. It is persistent (gets saved and restored).
7. Keyboard bindings have been added.
8. Mouse and joystick bindings have been added.
9. The system uses keyboard scancodes exclusively for system
controls. All other values in windoom.ini are true=1 and
false=0. true=on, false=off
10.The ability to record, stop and play back demo from the console.
This is currently not working properly. You can try it but it
probably won't work right.
---------------------------------------------------------------------
2. Program Requirements
This program is a Win32 application and REQUIRES DirectX 5
(available for NT). It would not have been possible to do
what was done with DirectX 3. DirectX 5 will be supported in
the 5.0 version of NT. If you have Windows95 and you don't have
DirectX 5, you can get it here:
http://www.microsoft.com/msdownload/directx5/directx5.htm
If you have NT 4.0 and want DirectX 5 you'll have to look around
for it. It's there but I don't know a stable place you can
download it from.
If you want to run ANYTHING under Windows95 you really should
have at least 16 Meg of RAM. 32 Meg is MUCH better. NT better
have 32 to start with.
You must have a functioning TCP/IP connection to play a
network game using this program. Internet play is not stable
at all and not recommended.
You CAN play with just the keyboard but both the mouse and
a joystick (or other game controller) are supported.
There is a way for people who use NT 4 to run this program.
There is a version of DirectX 5 for NT 5 floating around the
Internet. I found it at www.op3dfx.com on the 15 Jan, 1998
news page. It appears to be the DirectX 5 from the NT 5 beta.
I don't know that this is supposed to be distributed but I
downloaded it and installed it on my NT 4.0 Server and it
works.
As far as I can tell, no resolutions below 640x480 are supported
by the DirectX 5 for NT drivers.
---------------------------------------------------------------------
3. Setting up WinDoom
Create a directory and put the WinDoom.exe program in it
along with the Doom IWAD of your choice (I've tested this
with all three of the Doom I wads (doom1.wad, doom.wad and
doomu.wad) as well as doom2.wad, tnt.wad and plutonia.wad.
The order of precedence in looking for an IWAD is this:
doom2.wad - retail Doom II wad file
plutonia.wad - Another Doom II IWAD from id
tnt.wad - Another Doom II IWAD from id
doomu.wad - ultimate Doom I retail wad file
doom.wad - Doom I registered shareware wad
doom1.wad - Doom I unregistered shareware wad
When the program is first run, it will create a section in
the win.ini file for WINDOOM that stores the location of
the WinDoom program. If you move the program or change the
name of the directory in which the program is installed you
need to update this ini file entry or remove it.
An ini file will be created (or updated) in the directory
in which WinDoom is run with the configuration information
for the program. Modifying this file is currently the only way
to change some of the mouse/joystick mappings.
A way to change your keyboard mappings and the values for your
mouse and joystick has been added to the console in the program.
Make sure your shortcut, if you create one, has the directory
where you installed the program as the working directory. It
probably won't run otherwise.
I have not tried some of the original command line options to see
if they work or not. I have spent most of my time writing code
to get the program working. I will be testing the rest of these soon.
I have tested the following and know that they work:
-nomonsters
-deathmatch
-altdeath
-net
-skill
-warp
-episode
-playdemo
-timedemo
-record
-file
-width
-height
For information on how to use the options other than -net, -width
and -height please see the official Doom FAQ.
I don't know of any others that are normally usable.
----------------------------------------------------------------
4. The console
This program does not currently support the original music from
the game. It is stored in a format called "MUS" and is not
directly playable by the MCI midi sequencer in Windows.
In order to still have music in the game, I wrote some routines
to access and control the cd player that is found in most pc's
today.
I made a vain attempt to map the cd controls into unused keys
in the Doom keyboard but no combination I could think of made
any sense. So I created a console where cd commands could be
entered.
While I was testing the code for controlling the cd player from
the console, I remembered what an absolute pain it was to try
to enter cheat codes without being able to tell if the keys
were entered properly. I decided to allow cheat code entry
into the console as well so I could see what I was typing.
I then decided to add NEW cheat codes that were similar to
the ones I had gotten used to in Quake and Quake II. It sort
of ballooned from there...
The console command key is "`". This key both opens and closes
the console. The menu command key <ESC> also closes the console
and starts the menu. If the menu is up when you press the console
command key, the menu will close and the console will open.
Here is a list of the commands you can now enter on the command
line of the console:
iddqd - god mode
idfa - full ammo
idkfa - keys full ammo
idclev - change level
idchoppers - chainsaw and invulnerability
idclip - no clipping toggle
idspispopd - no clipping toggle
idbeholdi - invisibility
idbeholdv - invulnerability
idbeholds - strength (berserk pack)
idbeholdr - radiation/environment suit
idbeholdl - light amplification goggles
idbeholda - all map cheat
cd on - starts your cd player (switches from midi)
cd off - stops your cd player (switches to midi)
cd pause - pause/resume cd music toggle
cd resume - pause/resume cd music toggle
cd next - play next song on cd
cd + - play next song on cd
cd prev - play previous song on cd
cd - - play previous song on cd
cd XX - plays song number specified in XX 00 to 99
midi pause - pauses/resumes the midi playback (toggle)
midi resume - pauses/resumes the midi playback (toggle)
quit - quits the game (immediately)
god - enable god mode (degreelessness?) toggle
map - e?m? or map?? (Doom I or Doom II map names)
noclip - no clipping toggle
give all - gives full ammo,armor,health,weapons,keys
give ammo - gives full ammo
give armor - gives full armor
give health - give 100% health
give weapons - gives all weapons
give keys - gives all keys
give backpack - gives ammo backpack
always_run X - toggles always run 0 = off, 1 = on
swap_stereo X - toggles swap left/right 0 = off, 1 = on
bind - binds a value to a cvar
record - records a demo in new demo II format
finish - stops recording a demo II format demo
play - plays back a demo II format demo
cmdlist - lists console commands
The map and idclev commands are disabled from the console
during a network game. It crashes the machine you do it
on and locks up the KEY player's machine. The other players
can exit the game but their systems are VERY slow. (You
have to hold the keys longer.)
All the original cheat codes work EXACTLY as they did
originally. No changes have been made to those. The
new MAP command works similarly to the MAP command in
Quake/QuakeII. If you want to select a Doom 1 or Doom
II level you type in MAP then the full name of the
map you want to load (E1M7 or MAP19).
All the cheats are disabled during network games, also.
Note: This does not include the game control commands,
just the "cheats".
A number of other commands are planned for this. Mostly
just game variables that you can set. (like always_run)
All game input is dead while the console is active, so
be warned! The <ESCAPE> key as well as the "`" key will
terminate the console. Any command that you have not
pressed <ENTER> to complete will be thrown away. The
menu and console shut each other down when you call
them up. They are mutually exclusive.
----------------------------------------------------------------
5. Changing your controls
With the "bind" command on the console, you can now change
your keyboard mappings from the console. Additional mappings
and controls will be added later.
The bind command works backwards from the Quake bind command.
You enter the bind command, the cvar you want a keystroke bound
to followed by the key or the keyname.
Some keys are not printable and so are accessed through their
keyname. Other keys are printable and accessed directly by
entering the actual key.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -