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
021de090 sago007 2015-12-30 18:56 20
http://blockattack.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 "MenuSystem.h"
c9dd376f sago007 2012-01-20 17:13 27
#include "common.h"
26ddb424 sago007 2011-06-09 20:06 28
96eb7a16 sago007 2016-04-29 17:01 29
using std::string;
96eb7a16 sago007 2016-04-29 17:01 30
using std::cerr;
3478201d sago007 2016-06-04 14:44 31
using std::cout;
96eb7a16 sago007 2016-04-29 17:01 32
using std::vector;
26ddb424 sago007 2011-06-09 20:06 33
3838c95c sago007 2016-01-23 10:47 34
#if 0
26ddb424 sago007 2011-06-09 20:06 35
//Menu
ecef5838 sago007 2015-11-24 20:01 36
static void PrintHi(Button* b) {
161a010c sago007 2016-05-06 14:00 37
	cout << "Hi" <<"\n";
26ddb424 sago007 2011-06-09 20:06 38
}
3838c95c sago007 2016-01-23 10:47 39
#endif
26ddb424 sago007 2011-06-09 20:06 40
593aeae4 sago007 2011-06-25 22:42 41
//Stores the controls
ecef5838 sago007 2015-11-24 20:01 42
struct control {
1d2e2129 sago007 2015-12-23 15:41 43
	SDL_Keycode up;
1d2e2129 sago007 2015-12-23 15:41 44
	SDL_Keycode down;
1d2e2129 sago007 2015-12-23 15:41 45
	SDL_Keycode left;
1d2e2129 sago007 2015-12-23 15:41 46
	SDL_Keycode right;
1d2e2129 sago007 2015-12-23 15:41 47
	SDL_Keycode change;
1d2e2129 sago007 2015-12-23 15:41 48
	SDL_Keycode 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
void OpenScoresDisplay();
593aeae4 sago007 2011-06-25 22:42 52
extern control keySettings[3];
593aeae4 sago007 2011-06-25 22:42 53
593aeae4 sago007 2011-06-25 22:42 54
//Function to return the name of a key, to be displayed...
1d2e2129 sago007 2015-12-23 15:41 55
static string getKeyName(SDL_Keycode key) {
c53e6443 sago007 2012-04-17 11:04 56
	string keyname(SDL_GetKeyName(key));
ecef5838 sago007 2015-11-24 20:01 57
	if (verboseLevel) {
161a010c sago007 2016-05-06 14:00 58
		cout << key << " translated to " << keyname << "\n";
acd79baf sago007 2015-11-22 19:37 59
	}
c53e6443 sago007 2012-04-17 11:04 60
	return keyname;
593aeae4 sago007 2011-06-25 22:42 61
}
593aeae4 sago007 2011-06-25 22:42 62
ecef5838 sago007 2015-11-24 20:01 63
class Button_changekey : public Button {
593aeae4 sago007 2011-06-25 22:42 64
private:
1d2e2129 sago007 2015-12-23 15:41 65
	SDL_Keycode* m_key2change;
c53e6443 sago007 2012-04-17 11:04 66
	string m_keyname;
593aeae4 sago007 2011-06-25 22:42 67
public:
1d2e2129 sago007 2015-12-23 15:41 68
	Button_changekey(SDL_Keycode* key, string keyname);
c53e6443 sago007 2012-04-17 11:04 69
	void doAction();
593aeae4 sago007 2011-06-25 22:42 70
};
593aeae4 sago007 2011-06-25 22:42 71
6710d462 sago007 2012-05-12 17:23 72
1d2e2129 sago007 2015-12-23 15:41 73
Button_changekey::Button_changekey(SDL_Keycode* key, string keyname) {
c53e6443 sago007 2012-04-17 11:04 74
	m_key2change = key;
c53e6443 sago007 2012-04-17 11:04 75
	m_keyname = keyname;
c53e6443 sago007 2012-04-17 11:04 76
	setLabel(m_keyname+" : "+getKeyName(*m_key2change));
593aeae4 sago007 2011-06-25 22:42 77
}
593aeae4 sago007 2011-06-25 22:42 78
ecef5838 sago007 2015-11-24 20:01 79
void Button_changekey::doAction() {
c53e6443 sago007 2012-04-17 11:04 80
	SDL_Event event;
c53e6443 sago007 2012-04-17 11:04 81
c53e6443 sago007 2012-04-17 11:04 82
	bool finnish = false;
ecef5838 sago007 2015-11-24 20:01 83
	while (!finnish) {
c53e6443 sago007 2012-04-17 11:04 84
		SDL_Delay(10);
ecef5838 sago007 2015-11-24 20:01 85
		while ( SDL_PollEvent(&event) ) {
ecef5838 sago007 2015-11-24 20:01 86
			if (event.type == SDL_KEYDOWN) {
acd79baf sago007 2015-11-22 19:37 87
				if (event.key.keysym.sym != SDLK_ESCAPE) {
c53e6443 sago007 2012-04-17 11:04 88
					*m_key2change = event.key.keysym.sym;
acd79baf sago007 2015-11-22 19:37 89
				}
c53e6443 sago007 2012-04-17 11:04 90
				finnish = true;
c53e6443 sago007 2012-04-17 11:04 91
			}
c53e6443 sago007 2012-04-17 11:04 92
		}
c53e6443 sago007 2012-04-17 11:04 93
	}
c53e6443 sago007 2012-04-17 11:04 94
	setLabel(m_keyname+" : "+getKeyName(*m_key2change));
593aeae4 sago007 2011-06-25 22:42 95
}
26ddb424 sago007 2011-06-09 20:06 96
ecef5838 sago007 2015-11-24 20:01 97
void InitMenues() {
094b2dfe sago007 2016-06-12 10:50 98
	standardButton.setSurfaces();
3a23aa5e sago007 2015-12-23 18:06 99
	standardButton.thefont = &nf_scoreboard_font;
26ddb424 sago007 2011-06-09 20:06 100
}
26ddb424 sago007 2011-06-09 20:06 101
647f12da sago007 2016-09-12 20:07 102
#define UNUSED __attribute__((unused))
7fdb4e65 sago007 2016-04-28 17:54 103
647f12da sago007 2016-09-12 20:07 104
static void runSinglePlayerEndless(Button* b UNUSED) {
de81e07d sago007 2016-07-10 20:22 105
	runGame(Gametype::SinglePlayerEndless, 0);
26ddb424 sago007 2011-06-09 20:06 106
}
26ddb424 sago007 2011-06-09 20:06 107
647f12da sago007 2016-09-12 20:07 108
static void runSinglePlayerTimeTrial(Button* b UNUSED) {
de81e07d sago007 2016-07-10 20:22 109
	runGame(Gametype::SinglePlayerTimeTrial, 0);
26ddb424 sago007 2011-06-09 20:06 110
}
26ddb424 sago007 2011-06-09 20:06 111
647f12da sago007 2016-09-12 20:07 112
static void runStageClear(Button* b UNUSED) {
de81e07d sago007 2016-07-10 20:22 113
	runGame(Gametype::StageClear, 0);
aede0664 sago007 2012-04-19 19:45 114
}
aede0664 sago007 2012-04-19 19:45 115
647f12da sago007 2016-09-12 20:07 116
static void runSinglePlayerPuzzle(Button* b UNUSED) {
de81e07d sago007 2016-07-10 20:22 117
	runGame(Gametype::Puzzle, 0);
26ddb424 sago007 2011-06-09 20:06 118
}
26ddb424 sago007 2011-06-09 20:06 119
647f12da sago007 2016-09-12 20:07 120
static void runSinglePlayerVs(Button* b UNUSED) {
de81e07d sago007 2016-07-10 20:22 121
	runGame(Gametype::SinglePlayerVs, b->iGeneric1);
26ddb424 sago007 2011-06-09 20:06 122
}
26ddb424 sago007 2011-06-09 20:06 123
647f12da sago007 2016-09-12 20:07 124
static void runTwoPlayerTimeTrial(Button* b UNUSED) {
de81e07d sago007 2016-07-10 20:22 125
	runGame(Gametype::TwoPlayerTimeTrial, 0);
b0222eff sago007 2012-04-22 15:06 126
}
b0222eff sago007 2012-04-22 15:06 127
647f12da sago007 2016-09-12 20:07 128
static void runTwoPlayerVs(Button* b UNUSED) {
de81e07d sago007 2016-07-10 20:22 129
	runGame(Gametype::TwoPlayerVs, 0);
b0222eff sago007 2012-04-22 15:06 130
}
b0222eff sago007 2012-04-22 15:06 131
ecef5838 sago007 2015-11-24 20:01 132
static void buttonActionMusic(Button* b) {
c53e6443 sago007 2012-04-17 11:04 133
	MusicEnabled = !MusicEnabled;
96c54803 sago007 2016-02-06 18:34 134
	b->setLabel(MusicEnabled? _("Music: On") : _("Music: Off"));
26ddb424 sago007 2011-06-09 20:06 135
}
26ddb424 sago007 2011-06-09 20:06 136
ecef5838 sago007 2015-11-24 20:01 137
static void buttonActionSound(Button* b) {
c53e6443 sago007 2012-04-17 11:04 138
	SoundEnabled = !SoundEnabled;
c53e6443 sago007 2012-04-17 11:04 139
	b->setLabel(SoundEnabled? _("Sound: On") : _("Sound: Off") );
26ddb424 sago007 2011-06-09 20:06 140
}
26ddb424 sago007 2011-06-09 20:06 141
ecef5838 sago007 2015-11-24 20:01 142
static void buttonActionFullscreen(Button* b) {
c53e6443 sago007 2012-04-17 11:04 143
	bFullscreen = !bFullscreen;
c53e6443 sago007 2012-04-17 11:04 144
	b->setLabel(bFullscreen? _("Fullscreen: On") : _("Fullscreen: Off") );
c53e6443 sago007 2012-04-17 11:04 145
	ResetFullscreen();
26ddb424 sago007 2011-06-09 20:06 146
}
26ddb424 sago007 2011-06-09 20:06 147
647f12da sago007 2016-09-12 20:07 148
static void buttonActionPlayer1Name(Button* b UNUSED) {
96e759d9 sago007 2016-04-17 18:45 149
	if ( OpenDialogbox(200, 100, player1name, _("Enter player 1 name:")) ) {
acd79baf sago007 2015-11-22 19:37 150
		return;    //must save if true
acd79baf sago007 2015-11-22 19:37 151
	}
26ddb424 sago007 2011-06-09 20:06 152
}
26ddb424 sago007 2011-06-09 20:06 153
647f12da sago007 2016-09-12 20:07 154
static void buttonActionPlayer2Name(Button* b UNUSED) {
96e759d9 sago007 2016-04-17 18:45 155
	if ( OpenDialogbox(200, 100, player2name, _("Enter player 2 name:")) ) {
acd79baf sago007 2015-11-22 19:37 156
		return;    //must save if true
acd79baf sago007 2015-11-22 19:37 157
	}
26ddb424 sago007 2011-06-09 20:06 158
}
26ddb424 sago007 2011-06-09 20:06 159
647f12da sago007 2016-09-12 20:07 160
static void buttonActionHighscores(Button* b UNUSED) {
c53e6443 sago007 2012-04-17 11:04 161
	OpenScoresDisplay();
26ddb424 sago007 2011-06-09 20:06 162
}
26ddb424 sago007 2011-06-09 20:06 163
ecef5838 sago007 2015-11-24 20:01 164
static void ChangeKeysMenu(long playernumber) {
0c1de203 sago007 2015-12-05 22:15 165
	Menu km(screen,_("Change key bindings"),true);
c53e6443 sago007 2012-04-17 11:04 166
	Button_changekey bLeft(&keySettings[playernumber].left,_("Left") );
c53e6443 sago007 2012-04-17 11:04 167
	Button_changekey bRight(&keySettings[playernumber].right,_("Right") );
c53e6443 sago007 2012-04-17 11:04 168
	Button_changekey bUp(&keySettings[playernumber].up,_("Up") );
c53e6443 sago007 2012-04-17 11:04 169
	Button_changekey bDown(&keySettings[playernumber].down,_("Down") );
c53e6443 sago007 2012-04-17 11:04 170
	Button_changekey bPush(&keySettings[playernumber].push,_("Push") );
c53e6443 sago007 2012-04-17 11:04 171
	Button_changekey bSwitch(&keySettings[playernumber].change,_("Change") );
c53e6443 sago007 2012-04-17 11:04 172
	km.addButton(&bLeft);
c53e6443 sago007 2012-04-17 11:04 173
	km.addButton(&bRight);
c53e6443 sago007 2012-04-17 11:04 174
	km.addButton(&bUp);
c53e6443 sago007 2012-04-17 11:04 175
	km.addButton(&bDown);
c53e6443 sago007 2012-04-17 11:04 176
	km.addButton(&bPush);
c53e6443 sago007 2012-04-17 11:04 177
	km.addButton(&bSwitch);
c53e6443 sago007 2012-04-17 11:04 178
	km.run();
c53e6443 sago007 2012-04-17 11:04 179
}
c53e6443 sago007 2012-04-17 11:04 180
647f12da sago007 2016-09-12 20:07 181
static void ChangeKeysMenu1(Button* b UNUSED) {
c53e6443 sago007 2012-04-17 11:04 182
	ChangeKeysMenu(0);
593aeae4 sago007 2011-06-25 22:42 183
}
593aeae4 sago007 2011-06-25 22:42 184
647f12da sago007 2016-09-12 20:07 185
static void ChangeKeysMenu2(Button* b UNUSED) {
c53e6443 sago007 2012-04-17 11:04 186
	ChangeKeysMenu(2);
593aeae4 sago007 2011-06-25 22:42 187
}
fc8e3d6a sago007 2011-06-25 16:31 188
647f12da sago007 2016-09-12 20:07 189
static void ConfigureMenu(Button* b UNUSED) {
0c1de203 sago007 2015-12-05 22:15 190
	Menu cm(screen,_("Configuration"),true);
c53e6443 sago007 2012-04-17 11:04 191
	Button bMusic,bSound,buttonFullscreen,bPlayer1Name,bPlayer2Name;
c53e6443 sago007 2012-04-17 11:04 192
	Button bPlayer1Keys, bPlayer2Keys;
c53e6443 sago007 2012-04-17 11:04 193
	bMusic.setLabel(MusicEnabled? _("Music: On") : _("Music: Off") );
c53e6443 sago007 2012-04-17 11:04 194
	bMusic.setAction(buttonActionMusic);
aceba8db sago007 2012-04-19 20:27 195
	bSound.setLabel(SoundEnabled? _("Sound: On") : _("Sound: Off") );
c53e6443 sago007 2012-04-17 11:04 196
	bSound.setAction(buttonActionSound);
c53e6443 sago007 2012-04-17 11:04 197
	buttonFullscreen.setLabel(bFullscreen? _("Fullscreen: On") : _("Fullscreen: Off") );
c53e6443 sago007 2012-04-17 11:04 198
	buttonFullscreen.setAction(buttonActionFullscreen);
c53e6443 sago007 2012-04-17 11:04 199
	bPlayer1Name.setAction(buttonActionPlayer1Name);
c53e6443 sago007 2012-04-17 11:04 200
	bPlayer1Name.setLabel(_("Change player 1's name") );
c53e6443 sago007 2012-04-17 11:04 201
	bPlayer2Name.setAction(buttonActionPlayer2Name);
c53e6443 sago007 2012-04-17 11:04 202
	bPlayer2Name.setLabel(_("Change player 2's name") );
c53e6443 sago007 2012-04-17 11:04 203
	bPlayer1Keys.setAction(ChangeKeysMenu1);
c53e6443 sago007 2012-04-17 11:04 204
	bPlayer1Keys.setLabel(_("Change player 1's keys") );
c53e6443 sago007 2012-04-17 11:04 205
	bPlayer2Keys.setAction(ChangeKeysMenu2);
c53e6443 sago007 2012-04-17 11:04 206
	bPlayer2Keys.setLabel(_("Change player 2's keys") );
c53e6443 sago007 2012-04-17 11:04 207
	cm.addButton(&bMusic);
c53e6443 sago007 2012-04-17 11:04 208
	cm.addButton(&bSound);
c53e6443 sago007 2012-04-17 11:04 209
	cm.addButton(&buttonFullscreen);
c53e6443 sago007 2012-04-17 11:04 210
	cm.addButton(&bPlayer1Name);
c53e6443 sago007 2012-04-17 11:04 211
	cm.addButton(&bPlayer2Name);
c53e6443 sago007 2012-04-17 11:04 212
	cm.addButton(&bPlayer1Keys);
c53e6443 sago007 2012-04-17 11:04 213
	cm.addButton(&bPlayer2Keys);
c53e6443 sago007 2012-04-17 11:04 214
	cm.run();
26ddb424 sago007 2011-06-09 20:06 215
}
26ddb424 sago007 2011-06-09 20:06 216
647f12da sago007 2016-09-12 20:07 217
static void SinglePlayerVsMenu(Button* b UNUSED) {
0c1de203 sago007 2015-12-05 22:15 218
	Menu spvs(screen,_("Single player VS"),true);
67a32395 sago007 2012-04-19 18:40 219
	Button d1,d2,d3,d4,d5,d6,d7;
67a32395 sago007 2012-04-19 18:40 220
	d1.setAction(runSinglePlayerVs);
67a32395 sago007 2012-04-19 18:40 221
	d2.setAction(runSinglePlayerVs);
67a32395 sago007 2012-04-19 18:40 222
	d3.setAction(runSinglePlayerVs);
67a32395 sago007 2012-04-19 18:40 223
	d4.setAction(runSinglePlayerVs);
67a32395 sago007 2012-04-19 18:40 224
	d5.setAction(runSinglePlayerVs);
67a32395 sago007 2012-04-19 18:40 225
	d6.setAction(runSinglePlayerVs);
67a32395 sago007 2012-04-19 18:40 226
	d7.setAction(runSinglePlayerVs);
67a32395 sago007 2012-04-19 18:40 227
	d1.setPopOnRun(true);
67a32395 sago007 2012-04-19 18:40 228
	d2.setPopOnRun(true);
67a32395 sago007 2012-04-19 18:40 229
	d3.setPopOnRun(true);
67a32395 sago007 2012-04-19 18:40 230
	d4.setPopOnRun(true);
67a32395 sago007 2012-04-19 18:40 231
	d5.setPopOnRun(true);
67a32395 sago007 2012-04-19 18:40 232
	d6.setPopOnRun(true);
67a32395 sago007 2012-04-19 18:40 233
	d7.setPopOnRun(true);
e68d08eb sago007 2013-11-15 22:33 234
	d1.iGeneric1 = 0;
e68d08eb sago007 2013-11-15 22:33 235
	d2.iGeneric1 = 1;
e68d08eb sago007 2013-11-15 22:33 236
	d3.iGeneric1 = 2;
e68d08eb sago007 2013-11-15 22:33 237
	d4.iGeneric1 = 3;
e68d08eb sago007 2013-11-15 22:33 238
	d5.iGeneric1 = 4;
e68d08eb sago007 2013-11-15 22:33 239
	d6.iGeneric1 = 5;
e68d08eb sago007 2013-11-15 22:33 240
	d7.iGeneric1 = 6;
67a32395 sago007 2012-04-19 18:40 241
	d1.setLabel(_("Very easy"));
67a32395 sago007 2012-04-19 18:40 242
	d2.setLabel(_("Easy"));
67a32395 sago007 2012-04-19 18:40 243
	d3.setLabel(_("Below normal"));
67a32395 sago007 2012-04-19 18:40 244
	d4.setLabel(_("Normal"));
67a32395 sago007 2012-04-19 18:40 245
	d5.setLabel(_("Above normal"));
67a32395 sago007 2012-04-19 18:40 246
	d6.setLabel(_("Hard"));
67a32395 sago007 2012-04-19 18:40 247
	d7.setLabel(_("Hardest"));
67a32395 sago007 2012-04-19 18:40 248
	spvs.addButton(&d1);
67a32395 sago007 2012-04-19 18:40 249
	spvs.addButton(&d2);
67a32395 sago007 2012-04-19 18:40 250
	spvs.addButton(&d3);
67a32395 sago007 2012-04-19 18:40 251
	spvs.addButton(&d4);
67a32395 sago007 2012-04-19 18:40 252
	spvs.addButton(&d5);
67a32395 sago007 2012-04-19 18:40 253
	spvs.addButton(&d6);
67a32395 sago007 2012-04-19 18:40 254
	spvs.addButton(&d7);
67a32395 sago007 2012-04-19 18:40 255
	spvs.run();
67a32395 sago007 2012-04-19 18:40 256
}
67a32395 sago007 2012-04-19 18:40 257
647f12da sago007 2016-09-12 20:07 258
static void MultiplayerMenu(Button* b UNUSED) {
0c1de203 sago007 2015-12-05 22:15 259
	Menu mm(screen,_("Multiplayer"),true);
de81e07d sago007 2016-07-10 20:22 260
	Button bTT, bVs;
b0222eff sago007 2012-04-22 15:06 261
	bTT.setLabel(_("Two player - time trial"));
b0222eff sago007 2012-04-22 15:06 262
	bTT.setAction(runTwoPlayerTimeTrial);
b0222eff sago007 2012-04-22 15:06 263
	bVs.setLabel(_("Two player - vs"));
b0222eff sago007 2012-04-22 15:06 264
	bVs.setAction(runTwoPlayerVs);
b0222eff sago007 2012-04-22 15:06 265
	mm.addButton(&bTT);
b0222eff sago007 2012-04-22 15:06 266
	mm.addButton(&bVs);
b0222eff sago007 2012-04-22 15:06 267
	mm.run();
b0222eff sago007 2012-04-22 15:06 268
}
b0222eff sago007 2012-04-22 15:06 269
ecef5838 sago007 2015-11-24 20:01 270
void MainMenu() {
c53e6443 sago007 2012-04-17 11:04 271
	InitMenues();
0c1de203 sago007 2015-12-05 22:15 272
	Menu m(screen,_("Block Attack - Rise of the blocks"),false);
b0222eff sago007 2012-04-22 15:06 273
	Button bHi,bTimetrial1, bStageClear, bPuzzle, bVs1, bMulti, bConfigure,bHighscore;
c53e6443 sago007 2012-04-17 11:04 274
	bHi.setLabel(_("Single player - endless") );
c53e6443 sago007 2012-04-17 11:04 275
	bHi.setAction(runSinglePlayerEndless);
c53e6443 sago007 2012-04-17 11:04 276
	bTimetrial1.setLabel(_("Single player - time trial") );
c53e6443 sago007 2012-04-17 11:04 277
	bTimetrial1.setAction(runSinglePlayerTimeTrial);
aede0664 sago007 2012-04-19 19:45 278
	bStageClear.setLabel(_("Single player - stage clear") );
aede0664 sago007 2012-04-19 19:45 279
	bStageClear.setAction(runStageClear);
c53e6443 sago007 2012-04-17 11:04 280
	bPuzzle.setLabel(_("Single player - puzzle mode") );
c53e6443 sago007 2012-04-17 11:04 281
	bPuzzle.setAction(runSinglePlayerPuzzle);
c53e6443 sago007 2012-04-17 11:04 282
	bVs1.setLabel(_("Single player - vs") );
67a32395 sago007 2012-04-19 18:40 283
	bVs1.setAction(SinglePlayerVsMenu);
b0222eff sago007 2012-04-22 15:06 284
	bMulti.setLabel(_("Multi player") );
b0222eff sago007 2012-04-22 15:06 285
	bMulti.setAction(MultiplayerMenu);
c53e6443 sago007 2012-04-17 11:04 286
	bConfigure.setLabel(_("Configure") );
c53e6443 sago007 2012-04-17 11:04 287
	bConfigure.setAction(ConfigureMenu);
c53e6443 sago007 2012-04-17 11:04 288
	bHighscore.setLabel(_("Highscores") );
c53e6443 sago007 2012-04-17 11:04 289
	bHighscore.setAction(buttonActionHighscores);
c53e6443 sago007 2012-04-17 11:04 290
	m.addButton(&bHi);
c53e6443 sago007 2012-04-17 11:04 291
	m.addButton(&bTimetrial1);
aede0664 sago007 2012-04-19 19:45 292
	m.addButton(&bStageClear);
c53e6443 sago007 2012-04-17 11:04 293
	m.addButton(&bPuzzle);
c53e6443 sago007 2012-04-17 11:04 294
	m.addButton(&bVs1);
b0222eff sago007 2012-04-22 15:06 295
	m.addButton(&bMulti);
c53e6443 sago007 2012-04-17 11:04 296
	m.addButton(&bConfigure);
c53e6443 sago007 2012-04-17 11:04 297
	m.addButton(&bHighscore);
c53e6443 sago007 2012-04-17 11:04 298
	m.run();
593aeae4 sago007 2011-06-25 22:42 299
}
1970-01-01 00:00 300