]> git.jsancho.org Git - lugaru.git/blob - Source/Globals.cpp
Prepare to cleanup sound emission
[lugaru.git] / Source / Globals.cpp
1 /*
2 Copyright (C) 2003, 2010 - Wolfire Games
3
4 This file is part of Lugaru.
5
6 Lugaru is free software; you can redistribute it and/or
7 modify it under the terms of the GNU General Public License
8 as published by the Free Software Foundation; either version 2
9 of the License, or (at your option) any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
14
15 See the GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
20 */
21
22 #include "SDL.h"
23
24 #include "gamegl.h"
25 #include "Quaternions.h"
26 #include "Lights.h"
27 #include "Skeleton.h"
28 #include "Terrain.h"
29 #include "Sprite.h"
30 #include "Frustum.h"
31 #include "Objects.h"
32 #include "Weapons.h"
33 #include "Person.h"
34 #include "TGALoader.h"
35 #include "openal_wrapper.h"
36 #include "Stereo.h"
37
38 #include "Constants.h"
39 #include "Animation.h"
40
41 bool visibleloading = 0;
42
43 float volume = 0;
44 bool ismotionblur = 0;
45 float usermousesensitivity = 0;
46 bool floatjump = 0;
47 bool cellophane = 0;
48 bool autoslomo = 0;
49 bool decals = 0;
50 bool invertmouse = 0;
51 bool texttoggle = 0;
52 float blurness = 0;
53 float targetblurness = 0;
54 float windvar = 0;
55 float precipdelay = 0;
56 float gamespeed = 0;
57 float oldgamespeed = 0;
58 float tintr = 0,tintg = 0,tintb = 0;
59 int difficulty = 0;
60 float multiplier = 0;
61 float realmultiplier = 0;
62 float screenwidth = 0,screenheight = 0;
63 float viewdistance = 0;
64 XYZ viewer;
65 XYZ viewerfacing;
66 XYZ lightlocation;
67 float fadestart = 0;
68 int environment = 0;
69 float texscale = 0;
70 float gravity = 0;
71 Light light;
72 Animation animation[animation_count];
73 Skeleton testskeleton;
74 int numsounds = 0;
75 Terrain terrain;
76 float sps = 0;
77
78 SDL_Surface *sdlscreen;
79
80 int kTextureSize = 0;
81 int detail = 0;
82 FRUSTUM frustum;
83 float texdetail = 0;
84 float realtexdetail = 0;
85 float terraindetail = 0;
86 float playerdist = 0;
87 Objects objects;
88 int slomo = 0;
89 float slomodelay = 0;
90 GLubyte bloodText[512*512*3] = {0};
91 GLubyte wolfbloodText[512*512*3] = {0};
92 float colors[3] = {0};
93 int bloodtoggle = 0;
94 bool osx = 0;
95 float camerashake = 0;
96 float woozy = 0;
97 float blackout = 0;
98 bool foliage = 0;
99 bool musictoggle = 0;
100 bool trilinear;
101 Weapons weapons;
102 bool damageeffects = 0;
103 //apvector<Person> player(maxplayers);
104 Person player[maxplayers];
105 int numplayers = 0;
106 bool ambientsound = 0;
107 bool mousejump = 0;
108 bool freeze = 0;
109 bool winfreeze = 0;
110 float flashamount = 0,flashr = 0,flashg = 0,flashb = 0;
111 int flashdelay = 0;
112 bool vblsync = 0;
113 float motionbluramount = 0;
114 bool keyboardfrozen = 0;
115 char mapname[256] = {0};
116 bool loadingstuff = 0;
117 bool stillloading = 0;
118 bool showpoints = 0;
119 bool showdamagebar = 0;
120 bool alwaysblur = 0;
121 bool immediate = 0;
122 bool velocityblur = 0;
123 int test = 0;
124 XYZ windvector;
125 short vRefNum = 0;
126 long dirID = 0;
127 int mainmenu = 0;
128 int oldmainmenu = 0;
129 GLubyte texturearray[512*512*3] = {0};
130 int loadscreencolor = 0;
131 int whichjointstartarray[26] = {0};
132 int whichjointendarray[26] = {0};
133 int kBitsPerPixel = 0;
134
135 int numhotspots = 0;
136 XYZ hotspot[40];
137 int hotspottype[40] = {0};
138 float hotspotsize[40] = {0};
139 char hotspottext[40][256] = {0};
140 int currenthotspot = 0; 
141 int winhotspot = 0;
142 int windialogue = 0;
143 int killhotspot = 0;
144
145 float menupulse = 0;
146
147 int numdialogues = 0;
148 int numdialogueboxes[max_dialogues] = {0};
149 int dialoguetype[max_dialogues] = {0};
150 int dialogueboxlocation[max_dialogues][max_dialoguelength] = {0};
151 float dialogueboxcolor[max_dialogues][max_dialoguelength][3] = {0};
152 int dialogueboxsound[max_dialogues][max_dialoguelength] = {0};
153 char dialoguetext[max_dialogues][max_dialoguelength][128] = {0};
154 char dialoguename[max_dialogues][max_dialoguelength][64] = {0};
155 XYZ dialoguecamera[max_dialogues][max_dialoguelength]; //l = {0};
156 XYZ participantlocation[max_dialogues][10]; // = {0};
157 int participantfocus[max_dialogues][max_dialoguelength] = {0};
158 int participantaction[max_dialogues][max_dialoguelength] = {0};
159 float participantrotation[max_dialogues][10] = {0};
160 XYZ participantfacing[max_dialogues][max_dialoguelength][10]; // = {0};
161 float dialoguecamerarotation[max_dialogues][max_dialoguelength] = {0};
162 float dialoguecamerarotation2[max_dialogues][max_dialoguelength] = {0};
163 int indialogue = 0;
164 int whichdialogue = 0;
165 int directing = 0;
166 float dialoguetime = 0;
167 int dialoguegonethrough[20] = {0};
168
169 float smoketex = 0;
170
171 float slomospeed = 0;
172 float slomofreq = 0;
173
174 int tutoriallevel = 0;
175 int tutorialstage = 0;
176 float tutorialstagetime = 0;
177 float tutorialmaxtime = 0;
178 float tutorialsuccess = 0;
179
180 bool againbonus = 0;
181
182 float damagedealt = 0;
183
184 int maptype = 0;
185
186 int editoractive = 0;
187 int editorpathtype = 0;
188
189 bool reversaltrain = 0;
190 bool cananger = 0;
191 bool canattack = 0;
192
193 bool skyboxtexture = 0;
194 float skyboxr = 0;
195 float skyboxg = 0;
196 float skyboxb = 0;
197 float skyboxlightr = 0;
198 float skyboxlightg = 0;
199 float skyboxlightb = 0;
200
201 int hostile = 0;
202 float hostiletime = 0;
203
204 XYZ envsound[30]; // = {0};
205 float envsoundvol[30] = {0};
206 float envsoundlife[30] = {0};
207 int numenvsounds;
208
209
210 bool tilt2weird = 0;
211 bool tiltweird = 0;
212 bool midweird = 0;
213 bool proportionweird = 0;
214 bool vertexweird[6] = {0};
215 TGAImageRec texture;
216 bool debugmode = 0;
217
218 bool won = 0;
219
220
221 bool campaign = 0;
222
223 bool gamestarted = 0;
224
225 //TextureList textures;
226
227 StereoMode stereomode =  stereoNone;
228 StereoMode newstereomode = stereoNone;
229 float stereoseparation = 0.05;
230 bool  stereoreverse = false;