~ubuntu-branches/debian/sid/astromenace/sid

« back to all changes in this revision

Viewing changes to AstroMenaceSource/Game.h

  • Committer: Package Import Robot
  • Author(s): Boris Pek
  • Date: 2013-04-09 02:04:25 UTC
  • Revision ID: package-import@ubuntu.com-20130409020425-a7fl9xk4diamw6di
Tags: upstream-1.3.1+repack
ImportĀ upstreamĀ versionĀ 1.3.1+repack

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/************************************************************************************
 
2
 
 
3
        AstroMenace (Hardcore 3D space shooter with spaceship upgrade possibilities)
 
4
        Copyright Ā© 2006-2012 Michael Kurinnoy, Viewizard
 
5
 
 
6
 
 
7
        AstroMenace is free software: you can redistribute it and/or modify
 
8
        it under the terms of the GNU General Public License as published by
 
9
        the Free Software Foundation, either version 3 of the License, or
 
10
        (at your option) any later version.
 
11
 
 
12
        AstroMenace is distributed in the hope that it will be useful,
 
13
        but WITHOUT ANY WARRANTY; without even the implied warranty of
 
14
        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 
15
        GNU General Public License for more details.
 
16
 
 
17
        You should have received a copy of the GNU General Public License
 
18
        along with AstroMenace. If not, see <http://www.gnu.org/licenses/>.
 
19
 
 
20
 
 
21
        Web Site: http://www.viewizard.com/
 
22
        Project: http://sourceforge.net/projects/openastromenace/
 
23
        E-mail: viewizard@viewizard.com
 
24
 
 
25
*************************************************************************************/
 
26
 
 
27
 
 
28
#ifndef GAME_H
 
29
#define GAME_H
 
30
 
 
31
 
 
32
// ŃŠ“рŠ¾
 
33
#include "Core/Core.h"
 
34
// ŃŃ‚Ń€ŃƒŠŗтуры
 
35
#include "Struct.h"
 
36
 
 
37
 
 
38
 
 
39
// ŃŠŗрŠøŠæтŠ¾Š²Ń‹Š¹ Š“Š²ŠøŠ¶Š¾Šŗ
 
40
#include "ScriptEngine/Script.h"
 
41
// ŃŃ„Ń„ŠµŠŗты
 
42
#include "GraphicFX/SpaceStars/SpaceStars.h"
 
43
#include "GraphicFX/GameLvlText/GameLvlText.h"
 
44
// Š¼Š¾Š“ŠµŠ»Šø Šø Š²ŃŠµ Š¾Š±ŃŠŠµŠŗты
 
45
#include "Object3D/Object3D.h"
 
46
#include "Object3D/SpaceShip/EarthSpaceFighter/EarthSpaceFighter.h"
 
47
#include "Object3D/SpaceShip/AlienSpaceFighter/AlienSpaceFighter.h"
 
48
#include "Object3D/SpaceShip/AlienSpaceMotherShip/AlienSpaceMotherShip.h"
 
49
#include "Object3D/SpaceShip/PirateShip/PirateShip.h"
 
50
#include "Object3D/GroundObject/Building/Building.h"
 
51
#include "Object3D/GroundObject/MilitaryBuilding/MilitaryBuilding.h"
 
52
#include "Object3D/GroundObject/Wheeled/Wheeled.h"
 
53
#include "Object3D/GroundObject/Tracked/Tracked.h"
 
54
#include "Object3D/SpaceObject/Asteroid/Asteroid.h"
 
55
#include "Object3D/SpaceObject/BigAsteroid/BigAsteroid.h"
 
56
#include "Object3D/SpaceObject/BasePart/BasePart.h"
 
57
#include "Object3D/SpaceObject/ShipPart/ShipPart.h"
 
58
#include "Object3D/SpaceObject/Planet/Planet.h"
 
59
 
 
60
 
 
61
 
 
62
 
 
63
 
 
64
 
 
65
 
 
66
 
 
67
//------------------------------------------------------------------------------------
 
68
// Main.cpp
 
69
//------------------------------------------------------------------------------------
 
70
extern GameSetup Setup;
 
71
extern eDevCaps *CAPS;
 
72
extern eGameStatus GameStatus;
 
73
extern SDL_Joystick *Joystick;
 
74
extern eParticleSystem2D *CursorParticleSystem2D;
 
75
extern CSpaceStars *psSpaceStatic;
 
76
extern VECTOR3D GamePoint;
 
77
extern VECTOR3D GameCameraMovement;
 
78
 
 
79
extern  sVideoModes *VideoModes;
 
80
extern  int VideoModesNum;
 
81
extern  sVideoModes CurrentVideoMode;
 
82
 
 
83
extern bool LoadedTypes[1000];
 
84
extern char DatFileName[MAX_PATH];
 
85
extern char ProgrammDir[MAX_PATH];
 
86
extern char ScreenshotDir[MAX_PATH];
 
87
extern char VFSFileNamePath1[MAX_PATH];
 
88
extern char VFSFileNamePath2[MAX_PATH];
 
89
extern char UserPath[MAX_PATH];
 
90
extern bool Quit;
 
91
extern bool CanQuit;
 
92
extern bool NeedReCreate;
 
93
extern bool SDL_MouseCurrentStatus[8];
 
94
extern int JoystickAxisX;
 
95
extern int JoystickAxisY;
 
96
extern bool JoysticButtons[100];
 
97
 
 
98
void SaveGameData();
 
99
void CodeXOR(char *Text, char *Key, int Count);
 
100
 
 
101
const int FontQuantity=7;
 
102
extern sFontList FontList[FontQuantity];
 
103
 
 
104
 
 
105
 
 
106
 
 
107
 
 
108
//------------------------------------------------------------------------------------
 
109
// MainFS2VFS.cpp
 
110
//------------------------------------------------------------------------------------
 
111
int ConvertFS2VFS(char RawDataDir[MAX_PATH]);
 
112
 
 
113
 
 
114
 
 
115
 
 
116
//------------------------------------------------------------------------------------
 
117
// Setup.cpp
 
118
//------------------------------------------------------------------------------------
 
119
bool LoadXMLSetupFile(bool NeedSafeMode);
 
120
void SaveXMLSetupFile();
 
121
 
 
122
 
 
123
 
 
124
 
 
125
 
 
126
 
 
127
//------------------------------------------------------------------------------------
 
128
// loop_proc.cpp
 
129
//------------------------------------------------------------------------------------
 
130
extern ScriptEngine *Script;
 
131
 
 
132
extern int ComBuffer;
 
133
extern int CurrentCursorStatus;
 
134
extern bool DrawGameCursor;
 
135
 
 
136
void Loop_Proc();
 
137
void CreateCursor();
 
138
 
 
139
 
 
140
 
 
141
 
 
142
 
 
143
 
 
144
 
 
145
 
 
146
//------------------------------------------------------------------------------------
 
147
// loop_audio.cpp
 
148
//------------------------------------------------------------------------------------
 
149
extern bool GameMainMusicSet;
 
150
extern char GameMainMusic[MAX_PATH];
 
151
extern bool GameBossMusicSet;
 
152
extern char GameBossMusic[MAX_PATH];
 
153
extern bool GameDeathMusicSet;
 
154
extern char GameDeathMusic[MAX_PATH];
 
155
 
 
156
int Audio_PlaySound2D(int SoundID, float fVol, bool Loop = false);
 
157
int Audio_PlayVoice(int VoiceID, float fVol, bool Loop = false);
 
158
int Audio_PlaySound3D(int SoundID, float fVol, VECTOR3D Location, bool Loop, int AtType);
 
159
void Audio_LoopProc();
 
160
bool InitAudio();
 
161
void StartMusicWithFade(int StartMusic, float FadeInTime, float FadeOutTime);
 
162
void Audio_SetSound2DMainVolume(float NewMainVolume);
 
163
void Audio_SetVoiceMainVolume(float NewMainVolume);
 
164
 
 
165
 
 
166
 
 
167
 
 
168
//------------------------------------------------------------------------------------
 
169
// loading.cpp
 
170
//------------------------------------------------------------------------------------
 
171
void LoadGameData(int LoadType);
 
172
 
 
173
 
 
174
 
 
175
 
 
176
 
 
177
 
 
178
//------------------------------------------------------------------------------------
 
179
// Camera.cpp, GameCamera.cpp, CameraMath.cpp
 
180
//------------------------------------------------------------------------------------
 
181
void GameCameraUpdate(float Time);
 
182
void InitGameCamera();
 
183
float GameCameraGetDeviation();
 
184
float GameCameraGetSpeed();
 
185
void GameCameraSetExplosion(VECTOR3D Location, float Power);
 
186
 
 
187
 
 
188
 
 
189
 
 
190
 
 
191
 
 
192
//------------------------------------------------------------------------------------
 
193
// SkyBox.cpp
 
194
//------------------------------------------------------------------------------------
 
195
void SkyBoxSetTexture(eTexture *nTexture, int Side);
 
196
void SkyBoxCreate(float nx, float ny, float nz, float nwidth, float nheight, float nlength);
 
197
void SkyBoxDraw(void);
 
198
 
 
199
 
 
200
 
 
201
 
 
202
 
 
203
 
 
204
//------------------------------------------------------------------------------------
 
205
// StarSystem.cpp
 
206
//------------------------------------------------------------------------------------
 
207
void StarSystemInit(int Num, VECTOR3D SetBaseRotation);
 
208
void StarSystemDraw(int DrawType); // 1- Š¼ŠµŠ½ŃŽ, 2- ŠøŠ³Ń€Š°
 
209
void StarSystemDrawSecondLayer(int DrawType);
 
210
void StarSystemUpdate();
 
211
void StarSystemRelease();
 
212
 
 
213
 
 
214
 
 
215
 
 
216
 
 
217
//------------------------------------------------------------------------------------
 
218
// ShadowMap.cpp
 
219
//------------------------------------------------------------------------------------
 
220
bool ShadowMap_Init(int Width, int Height);
 
221
void ShadowMap_Release();
 
222
void ShadowMap_StartRenderToFBO(VECTOR3D FocusPointCorrection, float Distance, float fFarClip);
 
223
void ShadowMap_EndRenderToFBO();
 
224
void ShadowMap_StartFinalRender();
 
225
void ShadowMap_EndFinalRender();
 
226
float ShadowMap_Get_xPixelOffset();
 
227
float ShadowMap_Get_yPixelOffset();
 
228
 
 
229
 
 
230
 
 
231
 
 
232
//------------------------------------------------------------------------------------
 
233
// Button.cpp
 
234
//------------------------------------------------------------------------------------
 
235
extern int CurrentActiveMenuElement;
 
236
extern int CurrentKeyboardSelectMenuElement;
 
237
 
 
238
bool DrawButton384(int X, int Y, const char *Text, float Transp, float *ButTransp, float *Update);
 
239
bool DrawButton256(int X, int Y, const char *Text, float Transp, float *ButTransp, float *Update, bool Off=false);
 
240
bool DrawButton128_2(int X, int Y, const char *Text, float Transp, bool Off, bool SoundClick = true);
 
241
bool DrawButton200_2(int X, int Y, const char *Text, float Transp, bool Off);
 
242
void DrawCheckBox(int X, int Y, bool *CheckBoxStatus, const char *Text, float Transp);
 
243
 
 
244
 
 
245
 
 
246
 
 
247
 
 
248
 
 
249
 
 
250
 
 
251
//------------------------------------------------------------------------------------
 
252
// Menu.cpp
 
253
//------------------------------------------------------------------------------------
 
254
extern float Button1Transp;
 
255
extern float LastButton1UpdateTime;
 
256
extern float Button2Transp;
 
257
extern float LastButton2UpdateTime;
 
258
extern float Button3Transp;
 
259
extern float LastButton3UpdateTime;
 
260
extern float Button4Transp;
 
261
extern float LastButton4UpdateTime;
 
262
extern float Button5Transp;
 
263
extern float LastButton5UpdateTime;
 
264
extern float Button6Transp;
 
265
extern float LastButton6UpdateTime;
 
266
extern float Button7Transp;
 
267
extern float LastButton7UpdateTime;
 
268
extern float Button8Transp;
 
269
extern float LastButton8UpdateTime;
 
270
extern float Button9Transp;
 
271
extern float LastButton9UpdateTime;
 
272
extern float Button10Transp;
 
273
extern float LastButton10UpdateTime;
 
274
extern float Button11Transp;
 
275
extern float LastButton11UpdateTime;
 
276
extern float Button12Transp;
 
277
extern float LastButton12UpdateTime;
 
278
extern float Button13Transp;
 
279
extern float LastButton13UpdateTime;
 
280
extern float Button14Transp;
 
281
extern float LastButton14UpdateTime;
 
282
extern float MenuContentTransp;
 
283
extern float LastMenuOnOffUpdateTime;
 
284
 
 
285
void InitMenu();
 
286
void SetMenu(eGameStatus Menu);
 
287
void DrawMenu();
 
288
void DrawTransparent(RECT *DstRest, RECT *SrcRest, eTexture *Tex, eTexture *Tex2, bool Alpha, float Transp, float RotateAngle, int DrawCorner, float R, float G, float B);
 
289
void MainMenu();
 
290
 
 
291
 
 
292
 
 
293
 
 
294
 
 
295
 
 
296
 
 
297
 
 
298
 
 
299
 
 
300
//------------------------------------------------------------------------------------
 
301
// Menu_Credits.cpp
 
302
//------------------------------------------------------------------------------------
 
303
extern float CreditsCurrentPos;
 
304
extern float LastCreditsCurrentPosUpdateTime;
 
305
 
 
306
void CreditsMenu();
 
307
 
 
308
 
 
309
 
 
310
 
 
311
 
 
312
 
 
313
 
 
314
 
 
315
 
 
316
//------------------------------------------------------------------------------------
 
317
// Menu_Options.cpp
 
318
//------------------------------------------------------------------------------------
 
319
extern int Options_Width;
 
320
extern int Options_Height;
 
321
extern int Options_BPP;
 
322
extern int Options_VSync;
 
323
extern int Options_iAspectRatioWidth;
 
324
 
 
325
void OptionsMenu();
 
326
 
 
327
 
 
328
 
 
329
 
 
330
 
 
331
 
 
332
 
 
333
 
 
334
 
 
335
//------------------------------------------------------------------------------------
 
336
// Menu_ConfControl.cpp
 
337
//------------------------------------------------------------------------------------
 
338
extern int NeedCheck;
 
339
extern int ButQuant;
 
340
extern float But[10];
 
341
 
 
342
void ConfControlMenu();
 
343
const char * MouseCodeName(char Num);
 
344
const char * JoystickCodeName(char Num);
 
345
void CheckMouseKeybJState();
 
346
 
 
347
 
 
348
 
 
349
 
 
350
 
 
351
 
 
352
 
 
353
//------------------------------------------------------------------------------------
 
354
// Game_Options.cpp
 
355
//------------------------------------------------------------------------------------
 
356
void GameOptions();
 
357
 
 
358
 
 
359
 
 
360
 
 
361
 
 
362
 
 
363
 
 
364
 
 
365
//------------------------------------------------------------------------------------
 
366
// Menu_Interface.cpp
 
367
//------------------------------------------------------------------------------------
 
368
extern int Options_FontNumber;
 
369
 
 
370
void CreateMenuLanguageEntryLinks();
 
371
void ReCreateMenuLanguageEntryLinks();
 
372
void CreateVoiceLanguageEntryLinks();
 
373
void ReCreateVoiceLanguageEntryLinks();
 
374
void InterfaceMenu();
 
375
 
 
376
 
 
377
 
 
378
 
 
379
 
 
380
 
 
381
 
 
382
//------------------------------------------------------------------------------------
 
383
// Menu_OptionsAdvMenu.cpp
 
384
//------------------------------------------------------------------------------------
 
385
extern int Options_TexturesCompression;
 
386
extern int Options_UseGLSL;
 
387
extern int Options_MSAA;
 
388
extern int Options_CSAA;
 
389
extern int Options_ShadowMap;
 
390
extern int Options_TexturesQuality;
 
391
 
 
392
void OptionsAdvMenu();
 
393
 
 
394
 
 
395
 
 
396
 
 
397
 
 
398
 
 
399
 
 
400
 
 
401
//------------------------------------------------------------------------------------
 
402
// Menu_Profile.cpp
 
403
//------------------------------------------------------------------------------------
 
404
extern int CurrentProfile;
 
405
 
 
406
void ProfileMenu();
 
407
void DeleteRecord();
 
408
 
 
409
 
 
410
 
 
411
 
 
412
 
 
413
 
 
414
 
 
415
 
 
416
//------------------------------------------------------------------------------------
 
417
// Menu_Information.cpp
 
418
//------------------------------------------------------------------------------------
 
419
extern int CreateNum;
 
420
 
 
421
void InformationMenu();
 
422
void InformationDrawObject();
 
423
void CreateInfoObject();
 
424
void DestroyInfoObject();
 
425
 
 
426
 
 
427
 
 
428
 
 
429
 
 
430
 
 
431
 
 
432
 
 
433
 
 
434
//------------------------------------------------------------------------------------
 
435
// Menu_TopScores.cpp
 
436
//------------------------------------------------------------------------------------
 
437
extern char GameName[10][128];
 
438
extern int GameScore[10];
 
439
 
 
440
void TopScoresMenu();
 
441
void AddTopScores(int Score, char Name[128], bool Type);
 
442
 
 
443
 
 
444
 
 
445
 
 
446
 
 
447
 
 
448
 
 
449
 
 
450
//------------------------------------------------------------------------------------
 
451
// Menu_Difficulty.cpp
 
452
//------------------------------------------------------------------------------------
 
453
void DifficultyMenu();
 
454
 
 
455
 
 
456
 
 
457
 
 
458
 
 
459
 
 
460
 
 
461
//------------------------------------------------------------------------------------
 
462
// Menu_Mission.cpp
 
463
//------------------------------------------------------------------------------------
 
464
extern int CurrentMission;
 
465
extern int MissionLimitation;
 
466
extern int AllMission;
 
467
extern int StartMission;
 
468
extern int EndMission;
 
469
 
 
470
void MissionMenu();
 
471
char *GetMissionFileName();
 
472
void MissionsListRelease();
 
473
void MissionsListInit();
 
474
 
 
475
 
 
476
 
 
477
 
 
478
 
 
479
 
 
480
 
 
481
 
 
482
//------------------------------------------------------------------------------------
 
483
// Menu_Workshop.cpp
 
484
//------------------------------------------------------------------------------------
 
485
extern int CurrentWorkshop;
 
486
extern int NewWeaponControlType;
 
487
extern int NewWeaponControlTypeData;
 
488
extern int VoiceNeedMoreEnergy;
 
489
extern int VoiceAmmoOut;
 
490
 
 
491
void WorkshopMenu();
 
492
void WorkshopCreate();
 
493
void WorkshopDestroyData();
 
494
const char *GetWeaponIconName(int Num);
 
495
 
 
496
 
 
497
 
 
498
 
 
499
 
 
500
 
 
501
 
 
502
 
 
503
 
 
504
 
 
505
//------------------------------------------------------------------------------------
 
506
// game.cpp
 
507
//------------------------------------------------------------------------------------
 
508
extern CEarthSpaceFighter *PlayerFighter;
 
509
 
 
510
extern int GameNPCWeaponPenalty;
 
511
extern int GameNPCArmorPenalty;
 
512
extern int GameNPCTargetingSpeedPenalty;
 
513
extern int GameLimitedAmmo;
 
514
extern int GameDestroyableWeapon;
 
515
extern int GameWeaponTargetingMode;
 
516
extern int GameSpaceShipControlMode;
 
517
extern int GameEngineSystem;
 
518
extern int GameTargetingSystem;
 
519
extern int GameAdvancedProtectionSystem;
 
520
extern int GamePowerSystem;
 
521
extern int GameTargetingMechanicSystem;
 
522
extern int GameMenuStatus;
 
523
extern float GameContentTransp;
 
524
extern float GameButton1Transp;
 
525
extern float LastGameButton1UpdateTime;
 
526
extern bool NeedShowGameMenu;
 
527
extern bool NeedHideGameMenu;
 
528
extern bool GameMissionCompleteStatus;
 
529
extern float StarsTileStartTransparentLayer1;
 
530
extern float StarsTileEndTransparentLayer1;
 
531
extern float StarsTileStartTransparentLayer2;
 
532
extern float StarsTileEndTransparentLayer2;
 
533
 
 
534
void InitGame();
 
535
void DrawGame();
 
536
void ExitGame();
 
537
void RealExitGame();
 
538
void ExitGameWithSave();
 
539
void SetGameMissionComplete();
 
540
 
 
541
 
 
542
 
 
543
 
 
544
 
 
545
 
 
546
 
 
547
 
 
548
 
 
549
//------------------------------------------------------------------------------------
 
550
// Dialog.cpp
 
551
//------------------------------------------------------------------------------------
 
552
void SetCurrentDialogBox(int DialogBox);
 
553
bool isDialogBoxDrawing();
 
554
void DrawDialogBox();
 
555
 
 
556
 
 
557
 
 
558
 
 
559
 
 
560
 
 
561
 
 
562
 
 
563
 
 
564
//------------------------------------------------------------------------------------
 
565
// Game_Mission.cpp
 
566
//------------------------------------------------------------------------------------
 
567
void GameSetMissionTitleData(float ShowTime, int Num);
 
568
void GameDrawMissionTitle();
 
569
void GameSetMissionFailedData(float ShowTime);
 
570
void GameDrawMissionFailed();
 
571
 
 
572
 
 
573
 
 
574
 
 
575
 
 
576
 
 
577
 
 
578
 
 
579
//------------------------------------------------------------------------------------
 
580
// Game_WeaponSlot.cpp
 
581
//------------------------------------------------------------------------------------
 
582
void DrawGameWeaponSlots();
 
583
 
 
584
 
 
585
 
 
586
 
 
587
 
 
588
 
 
589
 
 
590
 
 
591
 
 
592
 
 
593
 
 
594
 
 
595
#endif // GAME_H