| c53e6443 |
sago007 |
2012-04-17 11:04 |
1 |
/* |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
2 |
=========================================================================== |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
3 |
blockattack - Block Attack - Rise of the Blocks |
| c4baf4ba |
sago007 |
2017-03-25 15:37 |
4 |
Copyright (C) 2005-2017 Poul Sander |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
5 |
|
| c53e6443 |
sago007 |
2012-04-17 11:04 |
6 |
This program is free software: you can redistribute it and/or modify |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
7 |
it under the terms of the GNU General Public License as published by |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
8 |
the Free Software Foundation, either version 2 of the License, or |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
9 |
(at your option) any later version. |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
10 |
|
| c53e6443 |
sago007 |
2012-04-17 11:04 |
11 |
This program is distributed in the hope that it will be useful, |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
12 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
13 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
14 |
GNU General Public License for more details. |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
15 |
|
| c53e6443 |
sago007 |
2012-04-17 11:04 |
16 |
You should have received a copy of the GNU General Public License |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
17 |
along with this program. If not, see http://www.gnu.org/licenses/ |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
18 |
|
| c53e6443 |
sago007 |
2012-04-17 11:04 |
19 |
Source information and contacts persons can be found at |
| de81e07d |
sago007 |
2016-07-10 20:22 |
20 |
http://www.blockattack.net |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
21 |
=========================================================================== |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
22 |
*/ |
| 099916fc |
sago007 |
2011-06-10 17:39 |
23 |
|
| 099916fc |
sago007 |
2011-06-10 17:39 |
24 |
#ifndef _GLOBAL_HPP |
| 099916fc |
sago007 |
2011-06-10 17:39 |
25 |
#define _GLOBAL_HPP |
| 099916fc |
sago007 |
2011-06-10 17:39 |
26 |
|
| f3a1637d |
sago007 |
2015-11-14 21:32 |
27 |
#include <memory> |
| 1d2e2129 |
sago007 |
2015-12-23 15:41 |
28 |
#include "sago/SagoSpriteHolder.hpp" |
| c3b697c6 |
sago007 |
2016-02-07 17:30 |
29 |
#include "highscore.h" |
| 59dcb571 |
sago007 |
2016-02-14 15:34 |
30 |
#include "sago/GameStateInterface.hpp" |
| c310f8a5 |
sago007 |
2017-03-25 16:05 |
31 |
#include "TextManager.hpp" |
| d450da8b |
sago007 |
2017-03-25 17:03 |
32 |
#include "ExplosionManager.hpp" |
| 810e1c2f |
sago007 |
2018-03-28 09:40 |
33 |
#include "sago/SagoTextField.hpp" |
| 3affd2d6 |
Poul Sander |
2020-12-27 15:56 |
34 |
#include "ModInfo.hpp" |
| aaba4f1e |
Poul Sander |
2023-07-25 13:34 |
35 |
#include "themes.hpp" |
| 099916fc |
sago007 |
2011-06-10 17:39 |
36 |
|
| 9c062c1d |
Poul Sander |
2022-01-15 14:48 |
37 |
//if SHAREDIR is not used we look in current directory |
| 9c062c1d |
Poul Sander |
2022-01-15 14:48 |
38 |
#ifndef SHAREDIR |
| 9c062c1d |
Poul Sander |
2022-01-15 14:48 |
39 |
#define SHAREDIR "." |
| 9c062c1d |
Poul Sander |
2022-01-15 14:48 |
40 |
#endif |
| 9c062c1d |
Poul Sander |
2022-01-15 14:48 |
41 |
|
| 9c062c1d |
Poul Sander |
2022-01-15 14:48 |
42 |
#ifndef LOCALEDIR |
| 9c062c1d |
Poul Sander |
2022-01-15 14:48 |
43 |
#define LOCALEDIR SHAREDIR"/locale" |
| 9c062c1d |
Poul Sander |
2022-01-15 14:48 |
44 |
#endif |
| 9c062c1d |
Poul Sander |
2022-01-15 14:48 |
45 |
|
| 9c062c1d |
Poul Sander |
2022-01-15 14:48 |
46 |
#ifndef PACKAGE |
| 9c062c1d |
Poul Sander |
2022-01-15 14:48 |
47 |
#define PACKAGE "blockattack_roftb" |
| 9c062c1d |
Poul Sander |
2022-01-15 14:48 |
48 |
#endif |
| 9c062c1d |
Poul Sander |
2022-01-15 14:48 |
49 |
|
| 9c062c1d |
Poul Sander |
2022-01-15 14:48 |
50 |
#define MODLIST_TXT "mod_list.txt" |
| 9c062c1d |
Poul Sander |
2022-01-15 14:48 |
51 |
|
| 099916fc |
sago007 |
2011-06-10 17:39 |
52 |
void MainMenu(); |
| ccee1ad0 |
Poul Sander |
2019-03-13 18:39 |
53 |
void SafeModeMenu(); |
| 099916fc |
sago007 |
2011-06-10 17:39 |
54 |
void ResetFullscreen(); |
| 59dcb571 |
sago007 |
2016-02-14 15:34 |
55 |
void RunGameState(sago::GameStateInterface& state ); |
| de81e07d |
sago007 |
2016-07-10 20:22 |
56 |
|
| 092bdebe |
sago007 |
2017-03-19 14:39 |
57 |
enum class Gametype { SinglePlayerEndless=0, SinglePlayerTimeTrial=1, StageClear=2, Puzzle=3, SinglePlayerVs=4, TwoPlayerTimeTrial=10, TwoPlayerVs=11, Replay=100 }; |
| de81e07d |
sago007 |
2016-07-10 20:22 |
58 |
|
| de81e07d |
sago007 |
2016-07-10 20:22 |
59 |
int runGame(Gametype gametype,int level); |
| 96e759d9 |
sago007 |
2016-04-17 18:45 |
60 |
bool OpenDialogbox(int x, int y, std::string& name, const std::string& header); |
| f1708e5e |
sago007 |
2016-09-28 17:09 |
61 |
void DrawBackground(SDL_Renderer* target); |
| 6e6e44b7 |
sago007 |
2016-10-18 15:30 |
62 |
void UpdateMouseCoordinates(const SDL_Event& event, int& mousex, int& mousey); |
| c4baf4ba |
sago007 |
2017-03-25 15:37 |
63 |
void DrawIMG(const sago::SagoSprite& sprite, SDL_Renderer* target, int x, int y); |
| c4baf4ba |
sago007 |
2017-03-25 15:37 |
64 |
void DrawIMG_Bounded(const sago::SagoSprite& sprite, SDL_Renderer* target, int x, int y, int minx, int miny, int maxx, int maxy); |
| 099916fc |
sago007 |
2011-06-10 17:39 |
65 |
|
| 810e1c2f |
sago007 |
2018-03-28 09:40 |
66 |
void sagoTextSetHelpFont(sago::SagoTextField& field); |
| e7e189c7 |
sago007 |
2018-03-31 15:30 |
67 |
void sagoTextSetBlueFont(sago::SagoTextField& field); |
| 810e1c2f |
sago007 |
2018-03-28 09:40 |
68 |
|
| 269c4c3f |
sago007 |
2019-04-27 19:31 |
69 |
const int SIXTEEN_NINE_WIDTH = 1364; |
| 269c4c3f |
sago007 |
2019-04-27 19:31 |
70 |
const int FOUR_THREE_WIDTH = 1024; |
| 269c4c3f |
sago007 |
2019-04-27 19:31 |
71 |
const int SCREEN_HIGHT = 768; |
| 269c4c3f |
sago007 |
2019-04-27 19:31 |
72 |
|
| 5d36f49f |
Poul Sander |
2023-07-11 22:38 |
73 |
const int BOARD_WIDTH = 300; |
| 5d36f49f |
Poul Sander |
2023-07-11 22:38 |
74 |
const int BOARD_HEIGHT = 600; |
| 5d36f49f |
Poul Sander |
2023-07-11 22:38 |
75 |
|
| 8f0c9d80 |
Poul Sander |
2023-07-24 21:33 |
76 |
|
| 72383a9e |
sago007 |
2016-10-30 11:56 |
77 |
struct GlobalData { |
| 72383a9e |
sago007 |
2016-10-30 11:56 |
78 |
sago::SagoSprite bHighScore; |
| 72383a9e |
sago007 |
2016-10-30 11:56 |
79 |
sago::SagoSprite bBack; |
| 72383a9e |
sago007 |
2016-10-30 11:56 |
80 |
sago::SagoSprite bNext; |
| 5e3bf517 |
sago007 |
2019-02-09 12:04 |
81 |
sago::SagoSprite iLevelCheck; //To the level select screen |
| c6c637cc |
sago007 |
2016-11-12 17:35 |
82 |
sago::SagoSprite iLevelCheckBox; |
| c6c637cc |
sago007 |
2016-11-12 17:35 |
83 |
sago::SagoSprite iLevelCheckBoxMarked; |
| c6c637cc |
sago007 |
2016-11-12 17:35 |
84 |
sago::SagoSprite iCheckBoxArea; |
| 5e3bf517 |
sago007 |
2019-02-09 12:04 |
85 |
bool MusicEnabled; //true if background music is enabled |
| 5e3bf517 |
sago007 |
2019-02-09 12:04 |
86 |
bool SoundEnabled; //true if sound effects is enabled |
| 5e3bf517 |
sago007 |
2019-02-09 12:04 |
87 |
bool bFullscreen; //true if game is running fullscreen |
| 5e3bf517 |
sago007 |
2019-02-09 12:04 |
88 |
std::string replayArgument; //Name of the replay to play (if given as a commandline argument) |
| 72383a9e |
sago007 |
2016-10-30 11:56 |
89 |
std::string player1name; |
| 72383a9e |
sago007 |
2016-10-30 11:56 |
90 |
std::string player2name; |
| 5e3bf517 |
sago007 |
2019-02-09 12:04 |
91 |
SDL_Renderer *screen = nullptr; //The whole screen; |
| 524f188c |
sago007 |
2017-04-22 09:01 |
92 |
sago::SoundHandler typingChunk; |
| 72383a9e |
sago007 |
2016-10-30 11:56 |
93 |
sago::SagoSprite mouse; |
| 72383a9e |
sago007 |
2016-10-30 11:56 |
94 |
bool highPriority = false; |
| 548313f7 |
Poul Sander |
2019-01-30 18:57 |
95 |
bool NoSound = false; |
| b70b71e3 |
Poul Sander |
2019-04-24 16:54 |
96 |
bool alwaysSixteenNine = false; |
| 72383a9e |
sago007 |
2016-10-30 11:56 |
97 |
int verboseLevel = 0; |
| 72383a9e |
sago007 |
2016-10-30 11:56 |
98 |
std::unique_ptr<sago::SagoSpriteHolder> spriteHolder; |
| 3affd2d6 |
Poul Sander |
2020-12-27 15:56 |
99 |
std::vector<std::string> modList; |
| 3affd2d6 |
Poul Sander |
2020-12-27 15:56 |
100 |
ModInfo modinfo; |
| 8f0c9d80 |
Poul Sander |
2023-07-24 21:33 |
101 |
Theme theme; |
| b70b71e3 |
Poul Sander |
2019-04-24 16:54 |
102 |
|
| c310f8a5 |
sago007 |
2017-03-25 16:05 |
103 |
TextManager theTextManager; |
| 099916fc |
sago007 |
2011-06-10 17:39 |
104 |
|
| 269c4c3f |
sago007 |
2019-04-27 19:31 |
105 |
int xsize = FOUR_THREE_WIDTH; |
| 269c4c3f |
sago007 |
2019-04-27 19:31 |
106 |
int ysize = SCREEN_HIGHT; |
| 20d77c6e |
sago007 |
2016-11-12 16:28 |
107 |
int mousex = 0; |
| 20d77c6e |
sago007 |
2016-11-12 16:28 |
108 |
int mousey = 0; |
| 72383a9e |
sago007 |
2016-10-30 11:56 |
109 |
}; |
| 72383a9e |
sago007 |
2016-10-30 11:56 |
110 |
|
| d450da8b |
sago007 |
2017-03-25 17:03 |
111 |
#include "BallManager.hpp" |
| d450da8b |
sago007 |
2017-03-25 17:03 |
112 |
|
| 72383a9e |
sago007 |
2016-10-30 11:56 |
113 |
extern GlobalData globalData; |
| a1072daf |
sago007 |
2016-02-20 12:47 |
114 |
|
| 099916fc |
sago007 |
2011-06-10 17:39 |
115 |
#endif /* _GLOBAL_HPP */ |
| 099916fc |
sago007 |
2011-06-10 17:39 |
116 |
|
|
|
1970-01-01 00:00 |
117 |
|