2 Copyright (C) 2003, 2010 - Wolfire Games
4 This file is part of Lugaru.
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.
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.
15 See the GNU General Public License for more details.
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.
25 #include "Quaternions.h"
34 #include "TGALoader.h"
35 #include "openal_wrapper.h"
38 #include "Constants.h"
39 #include "Animation.h"
41 bool visibleloading = 0;
42 OPENAL_SAMPLE *samp[100] = {0};
43 OPENAL_STREAM * strm[20] = {0};
44 int channels[100] = {0};
47 bool ismotionblur = 0;
48 float usermousesensitivity = 0;
56 float targetblurness = 0;
58 float precipdelay = 0;
60 float oldgamespeed = 0;
61 float tintr = 0,tintg = 0,tintb = 0;
64 float realmultiplier = 0;
65 float screenwidth = 0,screenheight = 0;
66 float viewdistance = 0;
75 Animation animation[animation_count];
76 Skeleton testskeleton;
81 SDL_Surface *sdlscreen;
87 float realtexdetail = 0;
88 float terraindetail = 0;
93 GLubyte bloodText[512*512*3] = {0};
94 GLubyte wolfbloodText[512*512*3] = {0};
95 float colors[3] = {0};
98 float camerashake = 0;
102 bool musictoggle = 0;
105 bool damageeffects = 0;
106 //apvector<Person> player(maxplayers);
107 Person player[maxplayers];
109 bool ambientsound = 0;
113 float flashamount = 0,flashr = 0,flashg = 0,flashb = 0;
116 float motionbluramount = 0;
117 bool keyboardfrozen = 0;
118 char mapname[256] = {0};
119 bool loadingstuff = 0;
120 bool stillloading = 0;
122 bool showdamagebar = 0;
125 bool velocityblur = 0;
132 GLubyte texturearray[512*512*3] = {0};
133 int loadscreencolor = 0;
134 int whichjointstartarray[26] = {0};
135 int whichjointendarray[26] = {0};
136 int kBitsPerPixel = 0;
140 int hotspottype[40] = {0};
141 float hotspotsize[40] = {0};
142 char hotspottext[40][256] = {0};
143 int currenthotspot = 0;
150 int numdialogues = 0;
151 int numdialogueboxes[max_dialogues] = {0};
152 int dialoguetype[max_dialogues] = {0};
153 int dialogueboxlocation[max_dialogues][max_dialoguelength] = {0};
154 float dialogueboxcolor[max_dialogues][max_dialoguelength][3] = {0};
155 int dialogueboxsound[max_dialogues][max_dialoguelength] = {0};
156 char dialoguetext[max_dialogues][max_dialoguelength][128] = {0};
157 char dialoguename[max_dialogues][max_dialoguelength][64] = {0};
158 XYZ dialoguecamera[max_dialogues][max_dialoguelength]; //l = {0};
159 XYZ participantlocation[max_dialogues][10]; // = {0};
160 int participantfocus[max_dialogues][max_dialoguelength] = {0};
161 int participantaction[max_dialogues][max_dialoguelength] = {0};
162 float participantrotation[max_dialogues][10] = {0};
163 XYZ participantfacing[max_dialogues][max_dialoguelength][10]; // = {0};
164 float dialoguecamerarotation[max_dialogues][max_dialoguelength] = {0};
165 float dialoguecamerarotation2[max_dialogues][max_dialoguelength] = {0};
167 int whichdialogue = 0;
169 float dialoguetime = 0;
170 int dialoguegonethrough[20] = {0};
174 float slomospeed = 0;
177 int tutoriallevel = 0;
178 int tutorialstage = 0;
179 float tutorialstagetime = 0;
180 float tutorialmaxtime = 0;
181 float tutorialsuccess = 0;
185 float damagedealt = 0;
186 float damagetaken = 0;
190 int editoractive = 0;
191 int editorpathtype = 0;
193 bool reversaltrain = 0;
197 bool skyboxtexture = 0;
201 float skyboxlightr = 0;
202 float skyboxlightg = 0;
203 float skyboxlightb = 0;
205 float bonusnum[100] = {0};
208 float hostiletime = 0;
210 XYZ envsound[30]; // = {0};
211 float envsoundvol[30] = {0};
212 float envsoundlife[30] = {0};
219 bool proportionweird = 0;
220 bool vertexweird[6] = {0};
226 float bonusvalue = 0;
227 float bonustotal = 0;
228 float startbonustotal = 0;
239 int numresponded = 0;
240 int numstaffattack = 0;
241 int numswordattack = 0;
242 int numknifeattack = 0;
243 int numunarmedattack = 0;
246 int numwallflipped = 0;
247 int numthrowkill = 0;
248 int numafterkill = 0;
249 int numreversals = 0;
253 bool gamestarted = 0;
255 //TextureList textures;
257 StereoMode stereomode = stereoNone;
258 StereoMode newstereomode = stereoNone;
259 float stereoseparation = 0.05;
260 bool stereoreverse = false;