XenevaOS
Loading...
Searching...
No Matches
doomdef.h
Go to the documentation of this file.
1//
2// Copyright(C) 1993-1996 Id Software, Inc.
3// Copyright(C) 2005-2014 Simon Howard
4//
5// This program is free software; you can redistribute it and/or
6// modify it under the terms of the GNU General Public License
7// as published by the Free Software Foundation; either version 2
8// of the License, or (at your option) any later version.
9//
10// This program is distributed in the hope that it will be useful,
11// but WITHOUT ANY WARRANTY; without even the implied warranty of
12// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13// GNU General Public License for more details.
14//
15// DESCRIPTION:
16// Internally used data structures for virtually everything,
17// lots of other stuff.
18//
19
20#ifndef __DOOMDEF__
21#define __DOOMDEF__
22
23#include <stdio.h>
24#include <string.h>
25
26#include "doomtype.h"
27#include "i_timer.h"
28#include "d_mode.h"
29
30//
31// Global parameters/defines.
32//
33// DOOM version
34#define DOOM_VERSION 109
35
36// Version code for cph's longtics hack ("v1.91")
37#define DOOM_191_VERSION 111
38
39
40// If rangecheck is undefined,
41// most parameter validation debugging code will not be compiled
42#define RANGECHECK
43
44// The maximum number of players, multiplayer/networking.
45#define MAXPLAYERS 4
46
47// The current state of the game: whether we are
48// playing, gazing at the intermission screen,
49// the game final animation, or a demo.
57
71
72//
73// Difficulty/skill settings/filters.
74//
75
76// Skill flags.
77#define MTF_EASY 1
78#define MTF_NORMAL 2
79#define MTF_HARD 4
80
81// Deaf monsters/do not react to sound.
82#define MTF_AMBUSH 8
83
84
85//
86// Key cards.
87//
100
101
102
103// The defined weapons,
104// including a marker indicating
105// user has not changed weapon.
124
125
126// Ammunition types defined.
127typedef enum
128{
129 am_clip, // Pistol / chaingun ammo.
130 am_shell, // Shotgun / double barreled shotgun.
131 am_cell, // Plasma rifle, BFG.
132 am_misl, // Missile launcher.
134 am_noammo // Unlimited for chainsaw / fist.
135
137
138
139// Power up artifacts.
151
152
153
154//
155// Power up durations,
156// how many seconds till expiration,
157// assuming TICRATE is 35 ticks/second.
158//
159typedef enum
160{
164 IRONTICS = (60*TICRATE)
165
167
168#endif // __DOOMDEF__
weapontype_t
Definition doomdef.h:107
@ wp_bfg
Definition doomdef.h:114
@ wp_shotgun
Definition doomdef.h:110
@ wp_plasma
Definition doomdef.h:113
@ wp_pistol
Definition doomdef.h:109
@ wp_missile
Definition doomdef.h:112
@ wp_nochange
Definition doomdef.h:121
@ wp_chainsaw
Definition doomdef.h:115
@ wp_supershotgun
Definition doomdef.h:116
@ NUMWEAPONS
Definition doomdef.h:118
@ wp_chaingun
Definition doomdef.h:111
@ wp_fist
Definition doomdef.h:108
ammotype_t
Definition doomdef.h:128
@ am_cell
Definition doomdef.h:131
@ NUMAMMO
Definition doomdef.h:133
@ am_noammo
Definition doomdef.h:134
@ am_shell
Definition doomdef.h:130
@ am_clip
Definition doomdef.h:129
@ am_misl
Definition doomdef.h:132
gameaction_t
Definition doomdef.h:59
@ ga_loadgame
Definition doomdef.h:63
@ ga_playdemo
Definition doomdef.h:65
@ ga_victory
Definition doomdef.h:67
@ ga_completed
Definition doomdef.h:66
@ ga_worlddone
Definition doomdef.h:68
@ ga_nothing
Definition doomdef.h:60
@ ga_newgame
Definition doomdef.h:62
@ ga_savegame
Definition doomdef.h:64
@ ga_screenshot
Definition doomdef.h:69
@ ga_loadlevel
Definition doomdef.h:61
card_t
Definition doomdef.h:89
@ it_yellowskull
Definition doomdef.h:94
@ it_yellowcard
Definition doomdef.h:91
@ it_redcard
Definition doomdef.h:92
@ NUMCARDS
Definition doomdef.h:97
@ it_redskull
Definition doomdef.h:95
@ it_blueskull
Definition doomdef.h:93
@ it_bluecard
Definition doomdef.h:90
powerduration_t
Definition doomdef.h:160
@ INVULNTICS
Definition doomdef.h:161
@ IRONTICS
Definition doomdef.h:164
@ INVISTICS
Definition doomdef.h:162
@ INFRATICS
Definition doomdef.h:163
gamestate_t
Definition doomdef.h:51
@ GS_LEVEL
Definition doomdef.h:52
@ GS_DEMOSCREEN
Definition doomdef.h:55
@ GS_INTERMISSION
Definition doomdef.h:53
@ GS_FINALE
Definition doomdef.h:54
powertype_t
Definition doomdef.h:141
@ pw_ironfeet
Definition doomdef.h:145
@ NUMPOWERS
Definition doomdef.h:148
@ pw_invisibility
Definition doomdef.h:144
@ pw_invulnerability
Definition doomdef.h:142
@ pw_strength
Definition doomdef.h:143
@ pw_infrared
Definition doomdef.h:147
@ pw_allmap
Definition doomdef.h:146
#define TICRATE
Definition i_timer.h:23