1 /* Emacs style mode select   -*- C++ -*-
2  *-----------------------------------------------------------------------------
3  *
4  *
5  *  PrBoom: a Doom port merged with LxDoom and LSDLDoom
6  *  based on BOOM, a modified and improved DOOM engine
7  *  Copyright (C) 1999 by
8  *  id Software, Chi Hoang, Lee Killough, Jim Flynn, Rand Phares, Ty Halderman
9  *  Copyright (C) 1999-2000 by
10  *  Jess Haas, Nicolas Kalkhof, Colin Phipps, Florian Schulze
11  *  Copyright 2005, 2006 by
12  *  Florian Schulze, Colin Phipps, Neil Stevens, Andrey Budko
13  *
14  *  This program is free software; you can redistribute it and/or
15  *  modify it under the terms of the GNU General Public License
16  *  as published by the Free Software Foundation; either version 2
17  *  of the License, or (at your option) any later version.
18  *
19  *  This program is distributed in the hope that it will be useful,
20  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
21  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
22  *  GNU General Public License for more details.
23  *
24  *  You should have received a copy of the GNU General Public License
25  *  along with this program; if not, write to the Free Software
26  *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
27  *  02111-1307, USA.
28  *
29  * DESCRIPTION:
30  *      Put all global state variables here.
31  *
32  *-----------------------------------------------------------------------------
33  */
34 
35 #ifdef __GNUG__
36 #pragma implementation "doomstat.h"
37 #endif
38 #include "doomstat.h"
39 
40 // Game Mode - identify IWAD as shareware, retail etc.
41 GameMode_t gamemode = indetermined;
42 GameMission_t   gamemission = doom;
43 
44 // Language.
45 Language_t   language = english;
46 
47 // Set if homebrew PWAD stuff has been added.
48 dboolean modifiedgame;
49 
50 //-----------------------------------------------------------------------------
51 
52 // CPhipps - compatibility vars
53 complevel_t compatibility_level, default_compatibility_level;
54 
55 //e6y: hacked exe to emulate
56 GameExe_t game_exe;
57 
58 // e6y
59 // it's required for demos recorded in "demo compatibility" mode by boom201 for example
60 extern int demover;
61 
62 int comp[COMP_TOTAL], default_comp[COMP_TOTAL];    // killough 10/98
63 
64 // v1.1-like pitched sounds
65 int pitched_sounds;        // killough
66 
67 int     default_translucency; // config file says           // phares
68 dboolean general_translucency; // true if translucency is ok // phares
69 
70 int demo_insurance, default_demo_insurance;        // killough 1/16/98
71 
72 int  allow_pushers = 1;      // MT_PUSH Things              // phares 3/10/98
73 int  default_allow_pushers;  // killough 3/1/98: make local to each game
74 
75 int  variable_friction = 1;      // ice & mud               // phares 3/10/98
76 int  default_variable_friction;  // killough 3/1/98: make local to each game
77 
78 int  weapon_recoil;              // weapon recoil                   // phares
79 int  default_weapon_recoil;      // killough 3/1/98: make local to each game
80 
81 int player_bobbing;  // whether player bobs or not          // phares 2/25/98
82 int default_player_bobbing;  // killough 3/1/98: make local to each game
83 
84 int monsters_remember;          // killough 3/1/98
85 int default_monsters_remember;
86 
87 int monster_infighting=1;       // killough 7/19/98: monster<=>monster attacks
88 int default_monster_infighting=1;
89 
90 int monster_friction=1;       // killough 10/98: monsters affected by friction
91 int default_monster_friction=1;
92 
93 #ifdef DOGS
94 int dogs, default_dogs;         // killough 7/19/98: Marine's best friend :)
95 int dog_jumping, default_dog_jumping;   // killough 10/98
96 #endif
97 
98 // killough 8/8/98: distance friends tend to move towards players
99 int distfriend = 128, default_distfriend = 128;
100 
101 // killough 9/8/98: whether monsters are allowed to strafe or retreat
102 int monster_backing, default_monster_backing;
103 
104 // killough 9/9/98: whether monsters are able to avoid hazards (e.g. crushers)
105 int monster_avoid_hazards, default_monster_avoid_hazards;
106 
107 // killough 9/9/98: whether monsters help friends
108 int help_friends, default_help_friends;
109 
110 int flashing_hom;     // killough 10/98
111 
112 int doom_weapon_toggles; // killough 10/98
113 
114 int monkeys, default_monkeys;
115 
116