?? windoom.doc
字號:
The following are the keyboard control cvars that have been
implemented so far:
key_right - the key to turn right - also used in menu
key_left - the key to turn left - also used in menu
key_down - the key to move backward - also used in menu
key_strafeleft - key used to slide to the left
key_straferight - key used to slide to the right
key_fire - key used to fire weapons
key_use - key used to open doors and flip switches
key_strafe - toggle key used to change turn to strafe
key_speed - key used to go faster (straight or turning)
joyb1 - joystick button 1
joyb2 - joystick button 2
joyb3 - joystick button 3
joyb4 - joystick button 4
mouseb1 - left mouse button
mouseb2 - right mouse button
mouseb3 - middle mouse button
These cvars can be set to any printable character or they
can be set to any of the following key names:
NULL - do nothing
BACK - back-space
ENTER - normal enter key (may not function properly)
LCTRL - left control key
LSHIFT - left shift key
RSHIFT - right shift key
LALT - left alt key
SPACE - space bar
CAPS - caps lock key
NUMLOCK - numlock lock key
SCROLL - scroll lock key
PAD7 - 7/home key on keypad
PAD8 - 8/up arrow on keypad
PAD9 - 9/page up on keypad
PAD- - the "-" key on keypad
PAD4 - 4/left arrow on keypad
PAD5 - 5 key on keypad
PAD6 - 6/right arrow on keypad
PAD+ - the "+" key on keypad
PAD1 - 1/end key on keypad
PAD2 - 2/down arrow on keypad
PAD3 - 3/page down on keypad
PAD0 - 0/insert on keypad
PAD. - ./delete on keypad
PADENTER - enter key on keypad
RCTRL - right control key
PAD/ - the "/" key on keypad
RALT - right alt key
HOME - home key (grey)
UP - up key (grey)
PAGEUP - page up (grey)
LEFT - left arrow (grey)
RIGHT - right arrow (grey)
END - end key (grey)
DOWN - down key (grey)
PAGEDOWN - page down (grey)
INSERT - insert key (grey)
DELETE - delete key (grey)
The bind command currently works backward from the bind command
in Quake. The Quake bind command binds commands to keys. This
bind command binds keys to commands. A subtle but important
difference. (and one that may change)
Doom was designed with only a few customizable commands. The
rest are set and unchangable. Quake was designed with a very
different idea about how the controls should work.
Doom may, at a later date, be converted to use the type of
command control that Quake uses. For now I have stayed with
the original command implementation.
The commands in Doom are referred to as cvars.
The bind command syntax works like this:
BIND KEY_USE SPACE
Which will bind the space bar to the use cvar. You will get a
message if the bind command is successful telling you that the
cvar is bound to the key you specified like this:
CMD KEY_USE BOUND TO SCANCODE 57
In this case the space bar has a keyboard scan code of 57.
If the keyboard command you are trying to bind to a command
cvar does not exist, you will get this error message:
BIND ERROR: INVALID KEY VALUE
If the keyboard command cvar you are trying to bind does
not exist, you will get this error message:
BIND ERROR: INVALID CVAR
There is also another type of command you can issue at the
console which is not listed above because it is used to
set the value of some game control cvars.
Control cvars are not the same as command cvars. Command
cvars are used to generate program input. Control cvars
are used to control the way the program behaves.
The currently defined control cvars are:
always_run - you always run in the game
swap_stereo - reverses stereo sound "panning"
usemouse - is mouse input available
mousebfire - which mouse button is used to "fire"
mousebstrafe - which mouse button toggles "strafe"
mousebforward - which mouse button moves you forward
usejoystick - is joystick input available
joybfire - which joystick button is used to "fire"
joybstrafe - which joystick button toggles "strafe"
joybuse - which joystick button opens doors/flips switches
joybspeed - which joystick button makes you run
mvert - 0 = mouse normal, 1 = mouse left/right only
The syntax for using these controls is simple. You enter the
name of the cvar and the value you wish to assign to it like
this:
always_run 0
If the cvar is valid and the value is within the acceptable
limits, you will get a message like this:
always_run SET TO 0
If you enter an invalid cvar name, you will get this error
message:
ERROR: INVALID CVAR
If you enter a valid cvar name but enter an invalid value for
it, you will get this error message:
ERROR: INVALID VALUE
The usemouse and usejoystick cvars tell the program whether
you want to use mouse and/or joystick input if either or both
are available.
The value of 0 for either of these turns off the support for
that device. A value of 1 turns it back on.
The button numbers for the mouse and joystick start at 0 rather
than 1. So a two button mouse has buttons 0 and 1. The left and
right mouse buttons respectively. A joystick with two buttons
also has buttons 0 and 1. Which button is which usually depends
on the joystick but the trigger is usually button 0 while the
the other buttons are numbered starting at 1. Some experimen-
tation may be required before you get the buttons to work the
way you expect them to.
Remember that usemouse must be set to 1 to be able to use a
mouse and usejoystick must be set to 1 to be able to use a
joystick with the program.
The functions defined in the cvars list are ALL the functions
that could ever be assigned to mouse and joystick controls in
Doom. No other functions have ever been possible.
The changes you make to your controls with this are immediate
and persistent. (meaning that they are saved in the windoom.ini
file and are used the next time you start the WinDoom)
----------------------------------------------------------------
6. Using hi-res mode
Part of the reason for porting this code to Win32 was to be
able to use high resolution video modes.
This program supports all video 8 bit (256) color modes that are
available with the DirectDraw drivers on your computer. Some are
not recommended. Do NOT try to use video modes where the height
value is greater than the width value. (i.e. 320x400) You will
NOT be happy with the result and the program will probably die.
In order to know what video modes are available to you, you can
look in the DirectX applet in your control panel or you can run
the program once and look at the contents of the windoom.dbg
file created in the directory where you installed the program.
Once you have run WinDoom a video mode list will be written to
the windoom.dbg file. You can pick a mode from this list as
long as the height does not exceed the width and the color bits
value is 8.
I have had some machines not give a picture when running in some
of the high resolution modes even though the program was running.
I could press escape, down, enter and "y" to exit the program
but I never saw any output from the game. I don't know what
causes this. I am investigating it. If you have this problem
please notify me and tell me what video setup you have.
The syntax for high the resolution modes is:
-width xxxx -height yyy
where the xxxx is the width you want to use (like 320) and the
yyy is the height you want to use (like 240). So to start
WinDoom and run the program at 640x480 resolution, you would
put the following parameters on the command line of your WinDoom
shortcut:
-width 640 -height 480
You can access the command line for your shortcut by right
clicking the mouse on the shortcut then selecting the properties
option then clicking on the properties tab in the dialog box.
DISCLAIMER
I make absolutely NO warrantees of any kind for this
program. I am not responsible for any consequences
of anyone using this program.
id Software owns the rights to Doom and to the source
code they distributed. This program was compiled from
source code to that game that was modified by me. So
don't bug id Software if you've got a problem with
this program. I'm the one who screwed up. Tell me.
---------------------------------------------------------------------
7. Playing a network game
Okay, this is little different than a DOS Doom network game.
It's just like the Linux parameters, though.
What you want to do is create a shortcut to your game and
then change the parameters of your shortcut to include the
network commands on the command line.
The parameter to start a network game is "-net" (without the
quotes). You then follow the -net command with the player
number your machine is going to be (1 to 4) and the IP
addresses or hostnames of the OTHER systems you will be
playing with. The IP addresses MUST be preceded by a period
".". If you leave off the leading period, the game will
think that the IP address is a hostname and try to resolve
it into an IP address (and die on you).
Sample command lines for two players would look like this:
machine 1: (hostname: rimmer IP address: 192.168.1.5)
windoom -net 1 holly -deathmatch -nomonsters
OR
windoom -net 1 .192.168.1.4 -deathmatch -nomonsters
machine 2: (hostname: holly IP address: 192.168.1.4)
windoom -net 2 rimmer -deathmatch -nomonsters
OR
windoom -net 2 .192.168.1.5 -deathmatch -nomonsters
In order to use hostnames rather than IP addresses you
must either have DNS setup or have a valid hosts file.
If you add a third or fourth machine to the game you need
to add the IP addresses of the OTHER machines to the
command line on each machine. You do not put your own
machine's IP address on the command line. You also
do not put how many machines are in the game after the
-net command. Only which player, out of the 4, you are.
The player numbers must be contiguous. You can't have
players 1,2 and 4. Also, one player MUST be player 1.
Player 1 is the KEY player and that machine coordinates
all the other systems.
The number of players in the game is determined by how
many IP addresses you put on the command line plus your
machine.
The command line on the KEY player's machine in a four
player game might look like this:
windoom -net 1 .192.168.1.3 .192.168.1.4 .192.168.1.5 -deathmatch -nomonsters
OR
windoom -net 1 cat holly rimmer -deathmatch -nomonsters
The other player's command lines in the same game might
look like this:
windoom -net 2 lister holly rimmer -deathmatch -nomonsters
OR
windoom -net 2 .192.168.1.2 .192.168.1.4 .192.168.1.5 -deathmatch -nomonsters
windoom -net 3 lister cat rimmer -deathmatch -nomonsters
OR
windoom -net 3 .192.168.1.2 .192.168.1.3 .192.168.1.5 -deathmatch -nomonsters
windoom -net 4 lister cat holly -deathmatch -nomonsters
OR
windoom -net 4 .192.168.1.2 .192.168.1.3 .192.168.1.4 -deathmatch -nomonsters
If you start a network game and the program appears to be
"hung" (black screen only), press and hold the escape
key for a few seconds. The program will terminate. It
generates an error when shutting down but it doesn't
affect game play. I should have that error figured out
soon.
I DO NOT know if the UDP datagrams used are robust enough
to allow this to be played over the internet. My assumption
is that it would be but I don't know. I haven't tried it.
I have started up a four player game on my network and
played at all four stations. Response was good and play
appeared to be smooth.
I'd be interested to know if anyone is able to play this
over the Internet with all the problems that entails. I can't
because of my router.
---------------------------------------------------------------------
a. Acknowledgements
Thanks to all of you who have downloaded the program (I'm not
calling it a game. The game part comes from id!). Your feedback
has been very helpful and has made this a better program.
And to those of you who have had problems. I thank you for
your patience while I worked out the bugs you've reported.
Thanks again to id Software for making Doom.
Thanks to Chi Hoang, Andy Bay, and Bernd Kreimeier for the
programming ideas.
Thanks to the other members of Project Doom for their support
and interest.
Thanks to John Carmack, John Cash, Michael Abrash, Brian Hook
for letting me peek over your shoulder (figuratively speaking)
occasionally. It's been very instructive.
Microsoft(tm)(c) 1975-1998, Microsoft, Inc., All Rights Reserved.
Quake(R)(c) 1996, id Software, Inc. All Rights Reserved.
Quake II(R)(c)1997, id Software, Inc. All Rights Reserved.
DOOM(R)(c) 1993, id Software, Inc. All Rights Reserved.
DOOM(R) and the DOOM image are registered trademarks of
id Software, Inc.
---------------------------------------------------------------------
WARNINGS!
This program is by no means ready for prime time but it does work
mostly. The original music was a large part of Doom for some of
us and this game isn't complete without it. It IS being worked on.
It may not be possible, however, to play against other versions of
Doom with this code. I DO have the specifications for the IPX
protocol used by the original Doom and I will attempt to make that
work as well.
Supporting DOS Doom in network games is, therefore, doubtful but
it may happen. However if Chi and I can maintain the same message
data for the networking, you should be able to play network games
between the two.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -