📄 readme.txt
字号:
WinDoom - V0.90
14 Jan, 1998
Thanks go first to id Software for making a great game
and then releasing the source code to it so we could
have something else to play with.
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.
HIGH RESOLUTION MODES NOW AVAILABLE!
In order to know what video modes are available on
your system, look in the windoom.dbg file after you
have run the program at 320x200 resolution. Any
video mode that has an 8 in the third column is
usable unless the height is greater than the width.
The syntax for high 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.
You can put these on your command line if you
create a shortcut to the program and modify
the command line in the attributes page of
the short cut's properties.
TAKE NOTE:
If you have read this document before you really should
re-read the whole thing again if the version number above
has changed. No telling what you might find changed...
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.
HELLO
This 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 ready for primetime. It does odd things
occasionally, and sometimes sounds just disappear. Probably
because of the sound buffer manager being non-existent.
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.
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 game.
Also, after I get all the enhancements added to the game
that I want to add, I will release the source code to
that as well. I've detailed a couple of them below. This
probably won't be before the summer, though. I've got a
LOT planned.
Also, if you're a Doom purist. Why are you reading this?
REQUIREMENTS
This program is a Win32 application and REQUIRES DirectX 5
(sorry NT folks). It would have been possible to do what
was done with DirectX 3 but I've already installed DirectX
5 and wanted to use it. DirectX 5 will be supported in the
5.0 version of NT. (Yes, I KNOW Microsoft says you can write
DirectX 3 compatible software using DirectX 5. I didn't want
to.) If you don't have DirectX 5, you can get it here:
http://www.microsoft.com/msdownload/directx5/directx5.htm
If you want to run ANYTHING under Windows95 you really should
have at least 16 Meg of RAM. 32 Meg is MUCH better.
WHAT'S WORKING?
Video - DirectDraw is being used as a flipping surface with
two surfaces. The game is rendered into a memory
area then copied to the back DD buffer. The palette
is updated through the DirectDraw surface attached
palette. All video works. An initial attempt was
made to increase the resolution but was not entirely
successful. Default screen resolution is 320x200.
Sound - DirectSound is being used for playing the sounds.
Currently, the sounds play until they are finished
and do not loop as in the original game. Nor can
they currently be stopped. This is being worked on
and will be functional in a few days. Volume control
and panning are both working adequately. Buffer
management is non-existent at this point. It is
being worked on and a proper sound buffer manager
will be forthcoming. The volume controls on the
menu DO NOT WORK YET. I haven't even looked at them.
Network - The network code is there and works. The syntax
for a network game is a little odd but it works.
Please see "How do I play a network game?" for details.
I used the Linux code that was already there and
adapted it to WinSock2.
Music - I haven't had the time to get a MUS to MIDI con-
version written, yet. But I do have code to play a
midi file "doomsong.mid". There is also a little
surprise as you read on.
Input - DirectInput and the Windows message loop are used to
handle keyboard, mouse and joystick input. Not all
the keys on the keyboard have been mapped. Notably
missing, so far are most of the keys in the numeric
keypad and some of the navigation keys. Pause DOES
work. The page-up and down keys as well as home,
end, insert and delete are not normally used anyway.
There is also a "console" key which is "`".
Demos - The demos now work. Beware trying to play a demo for
which you do not have the correct IWAD or PWAD file
loaded for. It can cause weird things to happen
in the game and even crash the machine. The demos
now appear to be 100%.
HOW DO I USE IT?
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
doomu.wad - ultimate Doom I retail wad file
doom.wad - Doom I registered shareware wad
doom1.wad - Doom I unregistered shareware wad
tnt.wad - Another Doom II IWAD from id
plutonia.wad - Another Doom II IWAD from id
If you have "Ultimate Doom" you need to rename your IWAD
to doomu.wad. (it's dumb I know) If you don't, the program
will think that you have the original Doom I loaded and
will try to cycle to a screen that isn't there and die.
(I'll fix that when I get time.)
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. All numeric entries are either boolean
(0 = false, 1 = true), keyboard scancodes or ASCII character
values. Modifying this file is currently the only way to
change some of the keyboard/mouse/joystick mappings. A way
to modify this in the game or a setup program will be
forthcoming. I am going to make it possible to set these
values from within the program from the console. When this
is finished there will be a published list of cvars that you
can set to setup your controls. (i.e. always_run )
A general rule to go by if you want to edit the windoom.ini
is that printable characters use the ASCII value. Non-printable
keys (ESCAPE, RETURN, ARROWs, etc.) use keyboard scan codes.
It's confusing, but that's the way it works.
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
-net
-skill
-warp
-episode
-playdemo
-timedemo
The others will probably work but I have not tested them.
HOW DO I PLAY 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:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -