git repos / blockattack-game

blame: source/code/global.hpp

normal view · raw

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
c53e6443 sago007 2012-04-17 11:04 4
Copyright (C) 2005-2012 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
099916fc sago007 2011-06-10 17:39 27
#include "Libs/NFont.h"
f3a1637d sago007 2015-11-14 21:32 28
#include <memory>
1d2e2129 sago007 2015-12-23 15:41 29
#include "sago/SagoSpriteHolder.hpp"
c3b697c6 sago007 2016-02-07 17:30 30
#include "highscore.h"
59dcb571 sago007 2016-02-14 15:34 31
#include "sago/GameStateInterface.hpp"
099916fc sago007 2011-06-10 17:39 32
099916fc sago007 2011-06-10 17:39 33
void MainMenu();
099916fc sago007 2011-06-10 17:39 34
void ResetFullscreen();
59dcb571 sago007 2016-02-14 15:34 35
void RunGameState(sago::GameStateInterface& state );
de81e07d sago007 2016-07-10 20:22 36
de81e07d sago007 2016-07-10 20:22 37
enum class Gametype { SinglePlayerEndless=0, SinglePlayerTimeTrial=1, StageClear=2, Puzzle=3, SinglePlayerVs=4, TwoPlayerTimeTrial=10, TwoPlayerVs=11  };
de81e07d sago007 2016-07-10 20:22 38
de81e07d sago007 2016-07-10 20:22 39
int runGame(Gametype gametype,int level);
96e759d9 sago007 2016-04-17 18:45 40
bool OpenDialogbox(int x, int y, std::string& name, const std::string& header);
f1708e5e sago007 2016-09-28 17:09 41
void DrawBackground(SDL_Renderer* target);
6e6e44b7 sago007 2016-10-18 15:30 42
void UpdateMouseCoordinates(const SDL_Event& event, int& mousex, int& mousey);
099916fc sago007 2011-06-10 17:39 43
72383a9e sago007 2016-10-30 11:56 44
struct GlobalData {
72383a9e sago007 2016-10-30 11:56 45
	sago::SagoSprite bHighScore;
72383a9e sago007 2016-10-30 11:56 46
	sago::SagoSprite bBack;
72383a9e sago007 2016-10-30 11:56 47
	sago::SagoSprite bNext;
72383a9e sago007 2016-10-30 11:56 48
	NFont nf_scoreboard_font;
72383a9e sago007 2016-10-30 11:56 49
	NFont nf_standard_blue_font;
72383a9e sago007 2016-10-30 11:56 50
	NFont nf_button_font;
72383a9e sago007 2016-10-30 11:56 51
	bool MusicEnabled;			//true if background music is enabled
72383a9e sago007 2016-10-30 11:56 52
	bool SoundEnabled;			//true if sound effects is enabled
72383a9e sago007 2016-10-30 11:56 53
	bool bFullscreen;			//true if game is running fullscreen
72383a9e sago007 2016-10-30 11:56 54
	std::string player1name;
72383a9e sago007 2016-10-30 11:56 55
	std::string player2name;
72383a9e sago007 2016-10-30 11:56 56
	SDL_Renderer *screen = nullptr;        //The whole screen;
72383a9e sago007 2016-10-30 11:56 57
	Mix_Chunk *typingChunk;
72383a9e sago007 2016-10-30 11:56 58
	sago::SagoSprite mouse;
72383a9e sago007 2016-10-30 11:56 59
	bool highPriority = false;
72383a9e sago007 2016-10-30 11:56 60
	bool NoSound = false;	
72383a9e sago007 2016-10-30 11:56 61
	int verboseLevel = 0;
72383a9e sago007 2016-10-30 11:56 62
	Highscore theTopScoresEndless;      //Stores highscores for endless
72383a9e sago007 2016-10-30 11:56 63
	Highscore theTopScoresTimeTrial;    //Stores highscores for timetrial
72383a9e sago007 2016-10-30 11:56 64
	std::unique_ptr<sago::SagoSpriteHolder> spriteHolder;
099916fc sago007 2011-06-10 17:39 65
72383a9e sago007 2016-10-30 11:56 66
	//The xsize and ysize are updated everytime the background is drawn
72383a9e sago007 2016-10-30 11:56 67
	int xsize = 1024;
72383a9e sago007 2016-10-30 11:56 68
	int ysize = 768;
72383a9e sago007 2016-10-30 11:56 69
};
72383a9e sago007 2016-10-30 11:56 70
72383a9e sago007 2016-10-30 11:56 71
extern GlobalData globalData;
a1072daf sago007 2016-02-20 12:47 72
099916fc sago007 2011-06-10 17:39 73
#endif	/* _GLOBAL_HPP */
099916fc sago007 2011-06-10 17:39 74
1970-01-01 00:00 75