summaryrefslogtreecommitdiff
path: root/doc/glossary.htm
blob: c0dc89fef6bcce439b979cfc1c6346c9d6093107 (plain)
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
<html>

<head>
<meta name="GENERATOR" content="vim">
<title>viDOOM - Free Software DOOM editor</title>
</head>

<body>

<h1 align="center">Glossary</h1>

<p>It is assumed that some knowledge of DOOM is known by the
reader, but in case here are some general terms that are used in
the documentation. </p>

<h2>DOOM</h2>

<p>If you're unsure what this is, you've probably come to the
wrong place by accident.</p>

<h2><a name="WAD">WAD</a></h2>

<p>A WAD file is the name given to the files used to define the
graphics, sound, music and maps that make up a game of DOOM. WAD
files are split into two different types, <a href="#IWAD">IWAD</a>
and <a href="#PWAD">PWAD</a> files. </p>

<h2><a name="IWAD">IWAD</a></h2>

<p>An IWAD file is is the 'Internal WAD' file. The IWAD file is
the main <a href="#WAD">WAD</a> file as supplied by id Software.
Note that only id Software are meant to produce IWAD files. </p>

<h2><a name="PWAD">PWAD</a></h2>

<p>An PWAD file is is the 'Patch WAD' file. This WAD file is read
in by the game after the IWAD file, and an entries in it replace
entries defined in the IWAD file. So for instance a PWAD file
that has an entry for the first <a href="#MAP">MAP</a> will mean
that DOOM will read the first map from the PWAD file, rather than
it's own IWAD file. </p>

<p>Hmmmm.... Sure I could have explained that better. </p>

<h2><a name="LUMP"></a>LUMP</h2>

<p>A lump is an entry in a <a href="#WAD">WAD</a> file. For
instance a <a href="#MAP">MAP</a> is made up of a number of
lumps, one defining the <a href="#SECTOR">sectors</a> for the
map, another the <a href="#THING">things</a>, and so on.</p>

<h2><a name="MAP">MAP</a></h2>

<p>A map is taken to mean a DOOM level. Note there is two naming
conventions for maps, <b>E</b><b><i>x</i></b><b>M</b><b><i>y</i></b>
(where <i>x</i> is the episode number, and <i>y</i> the map
number in that episode) used in DOOM and Ultimate DOOM, and <b>MAP</b><b><i>nn</i></b>
(where <i>nn</i> is a number between 01 and 32) used in DOOM 2
and Final Doom. </p>

<p>A map is made up of a number of different elements, namely <a
href="#SECTOR">sectors</a>, <a href="#LINEDEF">linedefs</a>, <a
href="#SIDEDEF">sidedefs</a>, <a href="#THING">things</a> and <a
href="#VERTEX">vertexes</a>. Following are some (very) basic
definitions for these things, but you would be better reading the
<a href="thanks.htm#DOOMSPEC">Unofficial DOOM specs</a> for more
accurate definitions. </p>

<p>MAPs generated in viDOOM must be built with a <a href="#BSP">Node
Builder</a> before they can be used in DOOM. </p>

<p>Also note that viDOOM supports two different map formats. The
original one, as used in DOOM and DOOM 2, and the extended <a
href="#HEXEN">HEXEN</a> format supported by ZDoom.</p>

<h2><a name="VERTEX">VERTEX</a></h2>

<p>A vertex is simply an X,Y co-ordinate in the DOOM world. </p>

<h2><a name="THING">THING</a></h2>

<p>Things are all the different objects on the DOOM map that are
not the actual walls and doors. All the monsters, weapons, ammo,
non-wall based scenery and even your starting point and teleport
locations are all counted as THINGS in DOOM. </p>

<h2><a name="LINEDEF">LINEDEF</a></h2>

<p>A LINEDEF is a line that connects two <a href="#VERTEX">vertexes</a>.
A LINEDEF at it's most basic is used to make up the walls that
make up the DOOM levels. A LINEDEF must <i>always</i> have a
right <a href="#SIDEDEF">SIDEDEF</a> associated with it. 2 sided
LINEDEFS will also have a left SIDEDEF associated with it. </p>

<p>In addition special types of LINEDEF can be used so that when
the player crosses or activates them actions happen in the DOOM
world - lighting changes, teleportation happens, doors open,
levels are exited and so on. </p>

<h2><a name="SIDEDEF">SIDEDEF</a></h2>

<p>A SIDEDEF is basically used to describe the <a href="#TEXTURE">textures</a>
that are painted upon a <a href="#LINEDEF">LINEDEF</a>. </p>

<h2><a name="SECTOR">SECTOR</a></h2>

<p>Though technically incorrect, it is simplest to picture a
SECTOR as an object enclosed by <a href="#LINEDEF">LINEDEFS</a>.
A sector is used to define the floor and ceiling heights and <a
href="#FLAT">flats</a> used to draw the floor and ceiling, in
addition to the lighting for that area. </p>

<h2><a name="TEXTURE">TEXTURE</a></h2>

<p>A texture is the graphics used to paint the walls in DOOM. </p>

<h2><a name="FLAT">FLAT</a></h2>

<p>A flat is the graphics used to paint the floors and ceiling in
DOOM. </p>

<h2><a name="BSP">Node Builder</a></h2>

<p>Does some of the nastier work of level building by creating
the extra information over and above the parts mentioned in <a
href="#MAP">MAPS</a> so that DOOM can actually understand the
level data enough to play it. Note that if you are to edit <a
href="#HEXEN">HEXEN</a> levels you will need a node builder that
understands the different data structures used.</p>

<p><a href="thanks.htm#BSP">BSP</a> is perhaps the best known of
these, and the one that was used all through viDOOM's initial
development. When developing the HEXEN edit mode for ZDoom <a
href="thanks.htm#WARM">WARM</a> was used.</p>

<h2><a name="HEXEN"></a>HEXEN</h2>

<p>HEXEN is a game by Raven software that uses the DOOM graphics
engine. The WAD format for this is slightly different to DOOM,
having a BEHAVIOR <a href="#LUMP">lump</a> for each MAP and
different formats for <a href="#THING">THINGS</a> and <a
href="#LINEDEF">LINEDEFS</a>.</p>

<p>ZDoom supports this format.</p>

<hr width="99%">

<p><a href="index.htm">Back to index</a></p>

<p><tt>$Id$ </tt></p>
</body>
</html>