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.
27 #include "Quaternions.h"
36 #include "TGALoader.h"
37 #include "openal_wrapper.h"
39 #include "Constants.h"
41 bool visibleloading = 0;
42 OPENAL_SAMPLE *samp[100] = {0};
43 OPENAL_STREAM * strm[20] = {0};
44 int channels[100] = {0};
46 float volume = 0;bool buttons[3] = {0};
47 bool oldbuttons[3] = {0};
48 bool ismotionblur = 0;
49 float usermousesensitivity = 0;
57 float targetblurness = 0;
59 float precipdelay = 0;
61 float oldgamespeed = 0;
62 float tintr = 0,tintg = 0,tintb = 0;
65 float realmultiplier = 0;
66 float screenwidth = 0,screenheight = 0;
67 float viewdistance = 0;
76 Animation animation[animation_count];
77 Skeleton testskeleton;
85 SDL_Surface *sdlscreen;
87 AGLContext gaglContext;
89 #error Define your platform.
95 float realtexdetail = 0;
96 float terraindetail = 0;
100 float slomodelay = 0;
101 GLubyte bloodText[512*512*3] = {0};
102 GLubyte wolfbloodText[512*512*3] = {0};
103 float colors[3] = {0};
106 float camerashake = 0;
110 bool musictoggle = 0;
113 bool damageeffects = 0;
114 //apvector<Person> player(maxplayers);
115 Person player[maxplayers];
117 bool ambientsound = 0;
121 float flashamount = 0,flashr = 0,flashg = 0,flashb = 0;
124 float motionbluramount = 0;
125 bool keyboardfrozen = 0;
126 int newnetmessages = 0;
127 char netmessages[256] = {0};
128 char mapname[256] = {0};
129 bool loadingstuff = 0;
130 bool stillloading = 0;
134 bool velocityblur = 0;
141 GLubyte texturearray[512*512*3] = {0};
142 int loadscreencolor = 0;
143 int whichjointstartarray[26] = {0};
144 int whichjointendarray[26] = {0};
145 int kBitsPerPixel = 0;
149 int hotspottype[40] = {0};
150 float hotspotsize[40] = {0};
151 char hotspottext[40][256] = {0};
152 int currenthotspot = 0;
159 int numdialogues = 0;
160 int numdialogueboxes[max_dialogues] = {0};
161 int dialoguetype[max_dialogues] = {0};
162 int dialogueboxlocation[max_dialogues][max_dialoguelength] = {0};
163 float dialogueboxcolor[max_dialogues][max_dialoguelength][3] = {0};
164 int dialogueboxsound[max_dialogues][max_dialoguelength] = {0};
165 char dialoguetext[max_dialogues][max_dialoguelength][128] = {0};
166 char dialoguename[max_dialogues][max_dialoguelength][64] = {0};
167 XYZ dialoguecamera[max_dialogues][max_dialoguelength]; //l = {0};
168 XYZ participantlocation[max_dialogues][10]; // = {0};
169 int participantfocus[max_dialogues][max_dialoguelength] = {0};
170 int participantaction[max_dialogues][max_dialoguelength] = {0};
171 float participantrotation[max_dialogues][10] = {0};
172 XYZ participantfacing[max_dialogues][max_dialoguelength][10]; // = {0};
173 float dialoguecamerarotation[max_dialogues][max_dialoguelength] = {0};
174 float dialoguecamerarotation2[max_dialogues][max_dialoguelength] = {0};
176 int whichdialogue = 0;
178 float dialoguetime = 0;
179 int dialoguegonethrough[20] = {0};
183 float slomospeed = 0;
186 int tutoriallevel = 0;
187 int tutorialstage = 0;
188 float tutorialstagetime = 0;
189 float tutorialmaxtime = 0;
190 float tutorialsuccess = 0;
194 float damagedealt = 0;
195 float damagetaken = 0;
199 int editoractive = 0;
200 int editorpathtype = 0;
202 bool reversaltrain = 0;
206 bool skyboxtexture = 0;
210 float skyboxlightr = 0;
211 float skyboxlightg = 0;
212 float skyboxlightb = 0;
214 float bonusnum[100] = {0};
217 float hostiletime = 0;
219 XYZ envsound[30]; // = {0};
220 float envsoundvol[30] = {0};
221 float envsoundlife[30] = {0};
228 bool proportionweird = 0;
229 bool vertexweird[6] = {0};
235 float bonusvalue = 0;
236 float bonustotal = 0;
237 float startbonustotal = 0;
241 int accountactive = 0;
242 int accountdifficulty[10] = {0};
243 int accountprogress[10] = {0};
244 float accountpoints[10] = {0};
245 float accounthighscore[10][50] = {0};
246 float accountfasttime[10][50] = {0};
247 bool accountunlocked[10][60] = {0};
248 char accountname[10][256] = {0};
249 float accountcampaignhighscore[10] = {0};
250 float accountcampaignfasttime[10] = {0};
251 float accountcampaignscore[10] = {0};
252 float accountcampaigntime[10] = {0};
253 int accountcampaignchoicesmade[10] = {0};int accountcampaignchoices[10][5000] = {0};
262 int numresponded = 0;
263 int numstaffattack = 0;
264 int numswordattack = 0;
265 int numknifeattack = 0;
266 int numunarmedattack = 0;
269 int numwallflipped = 0;
270 int numthrowkill = 0;
271 int numafterkill = 0;
272 int numreversals = 0;
276 bool gamestarted = 0;
278 //TextureList textures;