git repos / blockattack-game

blame: source/code/menudef.cpp

normal view · raw

593aeae4 sago007 2011-06-25 22:42 1
/*
af35c39d sago007 2013-11-16 16:37 2
===========================================================================
af35c39d sago007 2013-11-16 16:37 3
blockattack - Block Attack - Rise of the Blocks
af35c39d sago007 2013-11-16 16:37 4
Copyright (C) 2005-2013 Poul Sander
af35c39d sago007 2013-11-16 16:37 5
af35c39d sago007 2013-11-16 16:37 6
This program is free software: you can redistribute it and/or modify
af35c39d sago007 2013-11-16 16:37 7
it under the terms of the GNU General Public License as published by
af35c39d sago007 2013-11-16 16:37 8
the Free Software Foundation, either version 2 of the License, or
af35c39d sago007 2013-11-16 16:37 9
(at your option) any later version.
af35c39d sago007 2013-11-16 16:37 10
af35c39d sago007 2013-11-16 16:37 11
This program is distributed in the hope that it will be useful,
af35c39d sago007 2013-11-16 16:37 12
but WITHOUT ANY WARRANTY; without even the implied warranty of
af35c39d sago007 2013-11-16 16:37 13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
af35c39d sago007 2013-11-16 16:37 14
GNU General Public License for more details.
af35c39d sago007 2013-11-16 16:37 15
af35c39d sago007 2013-11-16 16:37 16
You should have received a copy of the GNU General Public License
af35c39d sago007 2013-11-16 16:37 17
along with this program.  If not, see http://www.gnu.org/licenses/
af35c39d sago007 2013-11-16 16:37 18
af35c39d sago007 2013-11-16 16:37 19
Source information and contacts persons can be found at
af35c39d sago007 2013-11-16 16:37 20
http://blockattack.sf.net
af35c39d sago007 2013-11-16 16:37 21
===========================================================================
593aeae4 sago007 2011-06-25 22:42 22
*/
26ddb424 sago007 2011-06-09 20:06 23
#include "global.hpp"
26ddb424 sago007 2011-06-09 20:06 24
#include <iostream>
26ddb424 sago007 2011-06-09 20:06 25
#include <stdlib.h>
26ddb424 sago007 2011-06-09 20:06 26
#include "menu/MenuItem.hpp"
26ddb424 sago007 2011-06-09 20:06 27
#include "MenuSystem.h"
c9dd376f sago007 2012-01-20 17:13 28
#include "common.h"
26ddb424 sago007 2011-06-09 20:06 29
26ddb424 sago007 2011-06-09 20:06 30
using namespace std;
26ddb424 sago007 2011-06-09 20:06 31
56241205 sago007 2012-08-05 11:15 32
extern int verboseLevel;
56241205 sago007 2012-08-05 11:15 33
26ddb424 sago007 2011-06-09 20:06 34
//Menu
6710d462 sago007 2012-05-12 17:23 35
static void PrintHi(Button* b)
26ddb424 sago007 2011-06-09 20:06 36
{
c53e6443 sago007 2012-04-17 11:04 37
	cout << "Hi" <<endl;
26ddb424 sago007 2011-06-09 20:06 38
}
26ddb424 sago007 2011-06-09 20:06 39
593aeae4 sago007 2011-06-25 22:42 40
//Stores the controls
593aeae4 sago007 2011-06-25 22:42 41
struct control
593aeae4 sago007 2011-06-25 22:42 42
{
c53e6443 sago007 2012-04-17 11:04 43
	SDLKey up;
c53e6443 sago007 2012-04-17 11:04 44
	SDLKey down;
c53e6443 sago007 2012-04-17 11:04 45
	SDLKey left;
c53e6443 sago007 2012-04-17 11:04 46
	SDLKey right;
c53e6443 sago007 2012-04-17 11:04 47
	SDLKey change;
c53e6443 sago007 2012-04-17 11:04 48
	SDLKey push;
593aeae4 sago007 2011-06-25 22:42 49
};
593aeae4 sago007 2011-06-25 22:42 50
26ddb424 sago007 2011-06-09 20:06 51
bool OpenDialogbox(int x, int y, char *name);
26ddb424 sago007 2011-06-09 20:06 52
void OpenScoresDisplay();
593aeae4 sago007 2011-06-25 22:42 53
extern control keySettings[3];
593aeae4 sago007 2011-06-25 22:42 54
593aeae4 sago007 2011-06-25 22:42 55
//Function to return the name of a key, to be displayed...
593aeae4 sago007 2011-06-25 22:42 56
static string getKeyName(SDLKey key)
593aeae4 sago007 2011-06-25 22:42 57
{
c53e6443 sago007 2012-04-17 11:04 58
	string keyname(SDL_GetKeyName(key));
acd79baf sago007 2015-11-22 19:37 59
	if(verboseLevel) {
56241205 sago007 2012-08-05 11:15 60
		cout << key << " translated to " << keyname << endl;
acd79baf sago007 2015-11-22 19:37 61
	}
c53e6443 sago007 2012-04-17 11:04 62
	return keyname;
593aeae4 sago007 2011-06-25 22:42 63
}
593aeae4 sago007 2011-06-25 22:42 64
c53e6443 sago007 2012-04-17 11:04 65
class Button_changekey : public Button
c53e6443 sago007 2012-04-17 11:04 66
{
593aeae4 sago007 2011-06-25 22:42 67
private:
c53e6443 sago007 2012-04-17 11:04 68
	SDLKey *m_key2change;
c53e6443 sago007 2012-04-17 11:04 69
	string m_keyname;
593aeae4 sago007 2011-06-25 22:42 70
public:
c53e6443 sago007 2012-04-17 11:04 71
	Button_changekey(SDLKey *key, string keyname);
c53e6443 sago007 2012-04-17 11:04 72
	void doAction();
593aeae4 sago007 2011-06-25 22:42 73
};
593aeae4 sago007 2011-06-25 22:42 74
6710d462 sago007 2012-05-12 17:23 75
c53e6443 sago007 2012-04-17 11:04 76
Button_changekey::Button_changekey(SDLKey* key, string keyname)
c53e6443 sago007 2012-04-17 11:04 77
{
c53e6443 sago007 2012-04-17 11:04 78
	m_key2change = key;
c53e6443 sago007 2012-04-17 11:04 79
	m_keyname = keyname;
c53e6443 sago007 2012-04-17 11:04 80
	setLabel(m_keyname+" : "+getKeyName(*m_key2change));
593aeae4 sago007 2011-06-25 22:42 81
}
593aeae4 sago007 2011-06-25 22:42 82
c53e6443 sago007 2012-04-17 11:04 83
void Button_changekey::doAction()
c53e6443 sago007 2012-04-17 11:04 84
{
c53e6443 sago007 2012-04-17 11:04 85
	SDL_Event event;
c53e6443 sago007 2012-04-17 11:04 86
c53e6443 sago007 2012-04-17 11:04 87
	bool finnish = false;
c53e6443 sago007 2012-04-17 11:04 88
	while (!finnish)
c53e6443 sago007 2012-04-17 11:04 89
	{
c53e6443 sago007 2012-04-17 11:04 90
		SDL_Delay(10);
c53e6443 sago007 2012-04-17 11:04 91
		while ( SDL_PollEvent(&event) )
c53e6443 sago007 2012-04-17 11:04 92
		{
c53e6443 sago007 2012-04-17 11:04 93
			if (event.type == SDL_KEYDOWN)
c53e6443 sago007 2012-04-17 11:04 94
			{
acd79baf sago007 2015-11-22 19:37 95
				if (event.key.keysym.sym != SDLK_ESCAPE) {
c53e6443 sago007 2012-04-17 11:04 96
					*m_key2change = event.key.keysym.sym;
acd79baf sago007 2015-11-22 19:37 97
				}
c53e6443 sago007 2012-04-17 11:04 98
				finnish = true;
c53e6443 sago007 2012-04-17 11:04 99
			}
c53e6443 sago007 2012-04-17 11:04 100
		}
c53e6443 sago007 2012-04-17 11:04 101
	}
c53e6443 sago007 2012-04-17 11:04 102
	setLabel(m_keyname+" : "+getKeyName(*m_key2change));
593aeae4 sago007 2011-06-25 22:42 103
}
26ddb424 sago007 2011-06-09 20:06 104
26ddb424 sago007 2011-06-09 20:06 105
void InitMenues()
26ddb424 sago007 2011-06-09 20:06 106
{
b283e0f7 sago007 2012-07-29 14:01 107
	standardButton.setSurfaces(menuMarked,menuUnmarked);
b283e0f7 sago007 2012-07-29 14:01 108
	standardButton.thefont = nf_scoreboard_font;
26ddb424 sago007 2011-06-09 20:06 109
}
26ddb424 sago007 2011-06-09 20:06 110
67a32395 sago007 2012-04-19 18:40 111
void runGame(int gametype,int level);
26ddb424 sago007 2011-06-09 20:06 112
6710d462 sago007 2012-05-12 17:23 113
static void runSinglePlayerEndless(Button* b)
c53e6443 sago007 2012-04-17 11:04 114
{
67a32395 sago007 2012-04-19 18:40 115
	runGame(0,0);
26ddb424 sago007 2011-06-09 20:06 116
}
26ddb424 sago007 2011-06-09 20:06 117
6710d462 sago007 2012-05-12 17:23 118
static void runSinglePlayerTimeTrial(Button* b)
c53e6443 sago007 2012-04-17 11:04 119
{
67a32395 sago007 2012-04-19 18:40 120
	runGame(1,0);
26ddb424 sago007 2011-06-09 20:06 121
}
26ddb424 sago007 2011-06-09 20:06 122
6710d462 sago007 2012-05-12 17:23 123
static void runStageClear(Button* b)
aede0664 sago007 2012-04-19 19:45 124
{
aede0664 sago007 2012-04-19 19:45 125
	runGame(2,0);
aede0664 sago007 2012-04-19 19:45 126
}
aede0664 sago007 2012-04-19 19:45 127
6710d462 sago007 2012-05-12 17:23 128
static void runSinglePlayerPuzzle(Button* b)
c53e6443 sago007 2012-04-17 11:04 129
{
67a32395 sago007 2012-04-19 18:40 130
	runGame(3,0);
26ddb424 sago007 2011-06-09 20:06 131
}
26ddb424 sago007 2011-06-09 20:06 132
6710d462 sago007 2012-05-12 17:23 133
static void runSinglePlayerVs(Button* b)
c53e6443 sago007 2012-04-17 11:04 134
{
67a32395 sago007 2012-04-19 18:40 135
	runGame(4,b->iGeneric1);
26ddb424 sago007 2011-06-09 20:06 136
}
26ddb424 sago007 2011-06-09 20:06 137
80b830cd sago007 2012-08-19 17:51 138
static void runTwoPlayerTimeTrial(Button* b)
b0222eff sago007 2012-04-22 15:06 139
{
b0222eff sago007 2012-04-22 15:06 140
	runGame(10,0);
b0222eff sago007 2012-04-22 15:06 141
}
b0222eff sago007 2012-04-22 15:06 142
80b830cd sago007 2012-08-19 17:51 143
static void runTwoPlayerVs(Button* b)
b0222eff sago007 2012-04-22 15:06 144
{
b0222eff sago007 2012-04-22 15:06 145
	runGame(11,0);
b0222eff sago007 2012-04-22 15:06 146
}
b0222eff sago007 2012-04-22 15:06 147
80b830cd sago007 2012-08-19 17:51 148
static void runHostGame(Button* b)
6710d462 sago007 2012-05-12 17:23 149
{
6710d462 sago007 2012-05-12 17:23 150
	runGame(12,0);
6710d462 sago007 2012-05-12 17:23 151
}
6710d462 sago007 2012-05-12 17:23 152
80b830cd sago007 2012-08-19 17:51 153
static void runJoinGame(Button* b)
6710d462 sago007 2012-05-12 17:23 154
{
6710d462 sago007 2012-05-12 17:23 155
	runGame(13,0);
6710d462 sago007 2012-05-12 17:23 156
}
6710d462 sago007 2012-05-12 17:23 157
6710d462 sago007 2012-05-12 17:23 158
static void buttonActionMusic(Button* b)
c53e6443 sago007 2012-04-17 11:04 159
{
c53e6443 sago007 2012-04-17 11:04 160
	MusicEnabled = !MusicEnabled;
c53e6443 sago007 2012-04-17 11:04 161
	b->setLabel(MusicEnabled? "Music: On" : "Music: Off");
26ddb424 sago007 2011-06-09 20:06 162
}
26ddb424 sago007 2011-06-09 20:06 163
6710d462 sago007 2012-05-12 17:23 164
static void buttonActionSound(Button* b)
c53e6443 sago007 2012-04-17 11:04 165
{
c53e6443 sago007 2012-04-17 11:04 166
	SoundEnabled = !SoundEnabled;
c53e6443 sago007 2012-04-17 11:04 167
	b->setLabel(SoundEnabled? _("Sound: On") : _("Sound: Off") );
26ddb424 sago007 2011-06-09 20:06 168
}
26ddb424 sago007 2011-06-09 20:06 169
6710d462 sago007 2012-05-12 17:23 170
static void buttonActionFullscreen(Button* b)
c53e6443 sago007 2012-04-17 11:04 171
{
c53e6443 sago007 2012-04-17 11:04 172
	bFullscreen = !bFullscreen;
c53e6443 sago007 2012-04-17 11:04 173
	b->setLabel(bFullscreen? _("Fullscreen: On") : _("Fullscreen: Off") );
c53e6443 sago007 2012-04-17 11:04 174
	ResetFullscreen();
26ddb424 sago007 2011-06-09 20:06 175
}
26ddb424 sago007 2011-06-09 20:06 176
6710d462 sago007 2012-05-12 17:23 177
static void buttonActionPlayer1Name(Button *b)
c53e6443 sago007 2012-04-17 11:04 178
{
acd79baf sago007 2015-11-22 19:37 179
	if (OpenDialogbox(200,100,player1name)) {
acd79baf sago007 2015-11-22 19:37 180
		return;    //must save if true
acd79baf sago007 2015-11-22 19:37 181
	}
26ddb424 sago007 2011-06-09 20:06 182
}
26ddb424 sago007 2011-06-09 20:06 183
6710d462 sago007 2012-05-12 17:23 184
static void buttonActionPlayer2Name(Button *b)
c53e6443 sago007 2012-04-17 11:04 185
{
acd79baf sago007 2015-11-22 19:37 186
	if (OpenDialogbox(200,100,player2name)) {
acd79baf sago007 2015-11-22 19:37 187
		return;    //must save if true
acd79baf sago007 2015-11-22 19:37 188
	}
26ddb424 sago007 2011-06-09 20:06 189
}
26ddb424 sago007 2011-06-09 20:06 190
6710d462 sago007 2012-05-12 17:23 191
static void buttonActionPortChange(Button *b)
b45d8841 sago007 2012-04-23 19:30 192
{
b45d8841 sago007 2012-04-23 19:30 193
	char port[30];
b45d8841 sago007 2012-04-23 19:30 194
	snprintf(port,sizeof(port),"%i",Config::getInstance()->getInt("portv4") );
80b830cd sago007 2012-08-19 17:51 195
	if (OpenDialogbox(200,100,port) && atoi(port))
b45d8841 sago007 2012-04-23 19:30 196
	{
b45d8841 sago007 2012-04-23 19:30 197
		Config::getInstance()->setInt("portv4",atoi(port));
53001fa2 sago007 2015-11-08 15:13 198
		boost::format f(_("Port: %1%") );
b45d8841 sago007 2012-04-23 19:30 199
		f % port;
b45d8841 sago007 2012-04-23 19:30 200
		b->setLabel(f.str());
b45d8841 sago007 2012-04-23 19:30 201
	}
b45d8841 sago007 2012-04-23 19:30 202
}
b45d8841 sago007 2012-04-23 19:30 203
6710d462 sago007 2012-05-12 17:23 204
static void buttonActionIpChange(Button *b)
b45d8841 sago007 2012-04-23 19:30 205
{
b45d8841 sago007 2012-04-23 19:30 206
	char ip[30];
b45d8841 sago007 2012-04-23 19:30 207
	snprintf(ip,sizeof(ip),"%s",Config::getInstance()->getString("address0").c_str() );
80b830cd sago007 2012-08-19 17:51 208
	if (OpenDialogbox(200,100,ip))
b45d8841 sago007 2012-04-23 19:30 209
	{
b45d8841 sago007 2012-04-23 19:30 210
		Config::getInstance()->setString("address0",ip);
53001fa2 sago007 2015-11-08 15:13 211
		boost::format f(_("Address: %1%") );
b45d8841 sago007 2012-04-23 19:30 212
		f % ip;
b45d8841 sago007 2012-04-23 19:30 213
		b->setLabel(f.str());
b45d8841 sago007 2012-04-23 19:30 214
	}
b45d8841 sago007 2012-04-23 19:30 215
}
b45d8841 sago007 2012-04-23 19:30 216
6710d462 sago007 2012-05-12 17:23 217
static void buttonActionHighscores(Button *b)
c53e6443 sago007 2012-04-17 11:04 218
{
c53e6443 sago007 2012-04-17 11:04 219
	OpenScoresDisplay();
26ddb424 sago007 2011-06-09 20:06 220
}
26ddb424 sago007 2011-06-09 20:06 221
c53e6443 sago007 2012-04-17 11:04 222
static void ChangeKeysMenu(long playernumber)
c53e6443 sago007 2012-04-17 11:04 223
{
c53e6443 sago007 2012-04-17 11:04 224
	Menu km(&screen,_("Change key bindings"),true);
c53e6443 sago007 2012-04-17 11:04 225
	Button_changekey bLeft(&keySettings[playernumber].left,_("Left") );
c53e6443 sago007 2012-04-17 11:04 226
	Button_changekey bRight(&keySettings[playernumber].right,_("Right") );
c53e6443 sago007 2012-04-17 11:04 227
	Button_changekey bUp(&keySettings[playernumber].up,_("Up") );
c53e6443 sago007 2012-04-17 11:04 228
	Button_changekey bDown(&keySettings[playernumber].down,_("Down") );
c53e6443 sago007 2012-04-17 11:04 229
	Button_changekey bPush(&keySettings[playernumber].push,_("Push") );
c53e6443 sago007 2012-04-17 11:04 230
	Button_changekey bSwitch(&keySettings[playernumber].change,_("Change") );
c53e6443 sago007 2012-04-17 11:04 231
	km.addButton(&bLeft);
c53e6443 sago007 2012-04-17 11:04 232
	km.addButton(&bRight);
c53e6443 sago007 2012-04-17 11:04 233
	km.addButton(&bUp);
c53e6443 sago007 2012-04-17 11:04 234
	km.addButton(&bDown);
c53e6443 sago007 2012-04-17 11:04 235
	km.addButton(&bPush);
c53e6443 sago007 2012-04-17 11:04 236
	km.addButton(&bSwitch);
c53e6443 sago007 2012-04-17 11:04 237
	km.run();
c53e6443 sago007 2012-04-17 11:04 238
}
c53e6443 sago007 2012-04-17 11:04 239
c53e6443 sago007 2012-04-17 11:04 240
static void ChangeKeysMenu1(Button *b)
c53e6443 sago007 2012-04-17 11:04 241
{
c53e6443 sago007 2012-04-17 11:04 242
	ChangeKeysMenu(0);
593aeae4 sago007 2011-06-25 22:42 243
}
593aeae4 sago007 2011-06-25 22:42 244
c53e6443 sago007 2012-04-17 11:04 245
static void ChangeKeysMenu2(Button *b)
c53e6443 sago007 2012-04-17 11:04 246
{
c53e6443 sago007 2012-04-17 11:04 247
	ChangeKeysMenu(2);
593aeae4 sago007 2011-06-25 22:42 248
}
fc8e3d6a sago007 2011-06-25 16:31 249
6710d462 sago007 2012-05-12 17:23 250
static void ConfigureMenu(Button *b)
c53e6443 sago007 2012-04-17 11:04 251
{
c53e6443 sago007 2012-04-17 11:04 252
	Menu cm(&screen,_("Configuration"),true);
c53e6443 sago007 2012-04-17 11:04 253
	Button bMusic,bSound,buttonFullscreen,bPlayer1Name,bPlayer2Name;
c53e6443 sago007 2012-04-17 11:04 254
	Button bPlayer1Keys, bPlayer2Keys;
c53e6443 sago007 2012-04-17 11:04 255
	bMusic.setLabel(MusicEnabled? _("Music: On") : _("Music: Off") );
c53e6443 sago007 2012-04-17 11:04 256
	bMusic.setAction(buttonActionMusic);
aceba8db sago007 2012-04-19 20:27 257
	bSound.setLabel(SoundEnabled? _("Sound: On") : _("Sound: Off") );
c53e6443 sago007 2012-04-17 11:04 258
	bSound.setAction(buttonActionSound);
c53e6443 sago007 2012-04-17 11:04 259
	buttonFullscreen.setLabel(bFullscreen? _("Fullscreen: On") : _("Fullscreen: Off") );
c53e6443 sago007 2012-04-17 11:04 260
	buttonFullscreen.setAction(buttonActionFullscreen);
c53e6443 sago007 2012-04-17 11:04 261
	bPlayer1Name.setAction(buttonActionPlayer1Name);
c53e6443 sago007 2012-04-17 11:04 262
	bPlayer1Name.setLabel(_("Change player 1's name") );
c53e6443 sago007 2012-04-17 11:04 263
	bPlayer2Name.setAction(buttonActionPlayer2Name);
c53e6443 sago007 2012-04-17 11:04 264
	bPlayer2Name.setLabel(_("Change player 2's name") );
c53e6443 sago007 2012-04-17 11:04 265
	bPlayer1Keys.setAction(ChangeKeysMenu1);
c53e6443 sago007 2012-04-17 11:04 266
	bPlayer1Keys.setLabel(_("Change player 1's keys") );
c53e6443 sago007 2012-04-17 11:04 267
	bPlayer2Keys.setAction(ChangeKeysMenu2);
c53e6443 sago007 2012-04-17 11:04 268
	bPlayer2Keys.setLabel(_("Change player 2's keys") );
c53e6443 sago007 2012-04-17 11:04 269
	cm.addButton(&bMusic);
c53e6443 sago007 2012-04-17 11:04 270
	cm.addButton(&bSound);
c53e6443 sago007 2012-04-17 11:04 271
	cm.addButton(&buttonFullscreen);
c53e6443 sago007 2012-04-17 11:04 272
	cm.addButton(&bPlayer1Name);
c53e6443 sago007 2012-04-17 11:04 273
	cm.addButton(&bPlayer2Name);
c53e6443 sago007 2012-04-17 11:04 274
	cm.addButton(&bPlayer1Keys);
c53e6443 sago007 2012-04-17 11:04 275
	cm.addButton(&bPlayer2Keys);
c53e6443 sago007 2012-04-17 11:04 276
	cm.run();
26ddb424 sago007 2011-06-09 20:06 277
}
26ddb424 sago007 2011-06-09 20:06 278
80b830cd sago007 2012-08-19 17:51 279
static void SinglePlayerVsMenu(Button *b)
67a32395 sago007 2012-04-19 18:40 280
{
67a32395 sago007 2012-04-19 18:40 281
	Menu spvs(&screen,_("Single player VS"),true);
67a32395 sago007 2012-04-19 18:40 282
	Button d1,d2,d3,d4,d5,d6,d7;
67a32395 sago007 2012-04-19 18:40 283
	d1.setAction(runSinglePlayerVs);
67a32395 sago007 2012-04-19 18:40 284
	d2.setAction(runSinglePlayerVs);
67a32395 sago007 2012-04-19 18:40 285
	d3.setAction(runSinglePlayerVs);
67a32395 sago007 2012-04-19 18:40 286
	d4.setAction(runSinglePlayerVs);
67a32395 sago007 2012-04-19 18:40 287
	d5.setAction(runSinglePlayerVs);
67a32395 sago007 2012-04-19 18:40 288
	d6.setAction(runSinglePlayerVs);
67a32395 sago007 2012-04-19 18:40 289
	d7.setAction(runSinglePlayerVs);
67a32395 sago007 2012-04-19 18:40 290
	d1.setPopOnRun(true);
67a32395 sago007 2012-04-19 18:40 291
	d2.setPopOnRun(true);
67a32395 sago007 2012-04-19 18:40 292
	d3.setPopOnRun(true);
67a32395 sago007 2012-04-19 18:40 293
	d4.setPopOnRun(true);
67a32395 sago007 2012-04-19 18:40 294
	d5.setPopOnRun(true);
67a32395 sago007 2012-04-19 18:40 295
	d6.setPopOnRun(true);
67a32395 sago007 2012-04-19 18:40 296
	d7.setPopOnRun(true);
e68d08eb sago007 2013-11-15 22:33 297
	d1.iGeneric1 = 0;
e68d08eb sago007 2013-11-15 22:33 298
	d2.iGeneric1 = 1;
e68d08eb sago007 2013-11-15 22:33 299
	d3.iGeneric1 = 2;
e68d08eb sago007 2013-11-15 22:33 300
	d4.iGeneric1 = 3;
e68d08eb sago007 2013-11-15 22:33 301
	d5.iGeneric1 = 4;
e68d08eb sago007 2013-11-15 22:33 302
	d6.iGeneric1 = 5;
e68d08eb sago007 2013-11-15 22:33 303
	d7.iGeneric1 = 6;
67a32395 sago007 2012-04-19 18:40 304
	d1.setLabel(_("Very easy"));
67a32395 sago007 2012-04-19 18:40 305
	d2.setLabel(_("Easy"));
67a32395 sago007 2012-04-19 18:40 306
	d3.setLabel(_("Below normal"));
67a32395 sago007 2012-04-19 18:40 307
	d4.setLabel(_("Normal"));
67a32395 sago007 2012-04-19 18:40 308
	d5.setLabel(_("Above normal"));
67a32395 sago007 2012-04-19 18:40 309
	d6.setLabel(_("Hard"));
67a32395 sago007 2012-04-19 18:40 310
	d7.setLabel(_("Hardest"));
67a32395 sago007 2012-04-19 18:40 311
	spvs.addButton(&d1);
67a32395 sago007 2012-04-19 18:40 312
	spvs.addButton(&d2);
67a32395 sago007 2012-04-19 18:40 313
	spvs.addButton(&d3);
67a32395 sago007 2012-04-19 18:40 314
	spvs.addButton(&d4);
67a32395 sago007 2012-04-19 18:40 315
	spvs.addButton(&d5);
67a32395 sago007 2012-04-19 18:40 316
	spvs.addButton(&d6);
67a32395 sago007 2012-04-19 18:40 317
	spvs.addButton(&d7);
67a32395 sago007 2012-04-19 18:40 318
	spvs.run();
67a32395 sago007 2012-04-19 18:40 319
}
67a32395 sago007 2012-04-19 18:40 320
80b830cd sago007 2012-08-19 17:51 321
static void MultiplayerMenu(Button *b)
b0222eff sago007 2012-04-22 15:06 322
{
b0222eff sago007 2012-04-22 15:06 323
	Menu mm(&screen,_("Multiplayer"),true);
b0222eff sago007 2012-04-22 15:06 324
	Button bTT, bVs, bNet;
b0222eff sago007 2012-04-22 15:06 325
	bTT.setLabel(_("Two player - time trial"));
b0222eff sago007 2012-04-22 15:06 326
	bTT.setAction(runTwoPlayerTimeTrial);
b0222eff sago007 2012-04-22 15:06 327
	bVs.setLabel(_("Two player - vs"));
b0222eff sago007 2012-04-22 15:06 328
	bVs.setAction(runTwoPlayerVs);
b0222eff sago007 2012-04-22 15:06 329
	mm.addButton(&bTT);
b0222eff sago007 2012-04-22 15:06 330
	mm.addButton(&bVs);
b0222eff sago007 2012-04-22 15:06 331
	mm.run();
b0222eff sago007 2012-04-22 15:06 332
}
b0222eff sago007 2012-04-22 15:06 333
26ddb424 sago007 2011-06-09 20:06 334
void MainMenu()
26ddb424 sago007 2011-06-09 20:06 335
{
c53e6443 sago007 2012-04-17 11:04 336
	InitMenues();
c53e6443 sago007 2012-04-17 11:04 337
	Menu m(&screen,_("Block Attack - Rise of the blocks"),false);
b0222eff sago007 2012-04-22 15:06 338
	Button bHi,bTimetrial1, bStageClear, bPuzzle, bVs1, bMulti, bConfigure,bHighscore;
c53e6443 sago007 2012-04-17 11:04 339
	bHi.setLabel(_("Single player - endless") );
c53e6443 sago007 2012-04-17 11:04 340
	bHi.setAction(runSinglePlayerEndless);
c53e6443 sago007 2012-04-17 11:04 341
	bTimetrial1.setLabel(_("Single player - time trial") );
c53e6443 sago007 2012-04-17 11:04 342
	bTimetrial1.setAction(runSinglePlayerTimeTrial);
aede0664 sago007 2012-04-19 19:45 343
	bStageClear.setLabel(_("Single player - stage clear") );
aede0664 sago007 2012-04-19 19:45 344
	bStageClear.setAction(runStageClear);
c53e6443 sago007 2012-04-17 11:04 345
	bPuzzle.setLabel(_("Single player - puzzle mode") );
c53e6443 sago007 2012-04-17 11:04 346
	bPuzzle.setAction(runSinglePlayerPuzzle);
c53e6443 sago007 2012-04-17 11:04 347
	bVs1.setLabel(_("Single player - vs") );
67a32395 sago007 2012-04-19 18:40 348
	bVs1.setAction(SinglePlayerVsMenu);
b0222eff sago007 2012-04-22 15:06 349
	bMulti.setLabel(_("Multi player") );
b0222eff sago007 2012-04-22 15:06 350
	bMulti.setAction(MultiplayerMenu);
c53e6443 sago007 2012-04-17 11:04 351
	bConfigure.setLabel(_("Configure") );
c53e6443 sago007 2012-04-17 11:04 352
	bConfigure.setAction(ConfigureMenu);
c53e6443 sago007 2012-04-17 11:04 353
	bHighscore.setLabel(_("Highscores") );
c53e6443 sago007 2012-04-17 11:04 354
	bHighscore.setAction(buttonActionHighscores);
c53e6443 sago007 2012-04-17 11:04 355
	m.addButton(&bHi);
c53e6443 sago007 2012-04-17 11:04 356
	m.addButton(&bTimetrial1);
aede0664 sago007 2012-04-19 19:45 357
	m.addButton(&bStageClear);
c53e6443 sago007 2012-04-17 11:04 358
	m.addButton(&bPuzzle);
c53e6443 sago007 2012-04-17 11:04 359
	m.addButton(&bVs1);
b0222eff sago007 2012-04-22 15:06 360
	m.addButton(&bMulti);
c53e6443 sago007 2012-04-17 11:04 361
	m.addButton(&bConfigure);
c53e6443 sago007 2012-04-17 11:04 362
	m.addButton(&bHighscore);
c53e6443 sago007 2012-04-17 11:04 363
	m.run();
593aeae4 sago007 2011-06-25 22:42 364
}
1970-01-01 00:00 365