| 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)); |
| 56241205 |
sago007 |
2012-08-05 11:15 |
59 |
if(verboseLevel) |
| 56241205 |
sago007 |
2012-08-05 11:15 |
60 |
cout << key << " translated to " << keyname << endl; |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
61 |
return keyname; |
| 593aeae4 |
sago007 |
2011-06-25 22:42 |
62 |
} |
| 593aeae4 |
sago007 |
2011-06-25 22:42 |
63 |
|
| c53e6443 |
sago007 |
2012-04-17 11:04 |
64 |
class Button_changekey : public Button |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
65 |
{ |
| 593aeae4 |
sago007 |
2011-06-25 22:42 |
66 |
private: |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
67 |
SDLKey *m_key2change; |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
68 |
string m_keyname; |
| 593aeae4 |
sago007 |
2011-06-25 22:42 |
69 |
public: |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
70 |
Button_changekey(SDLKey *key, string keyname); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
71 |
void doAction(); |
| 593aeae4 |
sago007 |
2011-06-25 22:42 |
72 |
}; |
| 593aeae4 |
sago007 |
2011-06-25 22:42 |
73 |
|
| 6710d462 |
sago007 |
2012-05-12 17:23 |
74 |
|
| c53e6443 |
sago007 |
2012-04-17 11:04 |
75 |
Button_changekey::Button_changekey(SDLKey* key, string keyname) |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
76 |
{ |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
77 |
m_key2change = key; |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
78 |
m_keyname = keyname; |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
79 |
setLabel(m_keyname+" : "+getKeyName(*m_key2change)); |
| 593aeae4 |
sago007 |
2011-06-25 22:42 |
80 |
} |
| 593aeae4 |
sago007 |
2011-06-25 22:42 |
81 |
|
| c53e6443 |
sago007 |
2012-04-17 11:04 |
82 |
void Button_changekey::doAction() |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
83 |
{ |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
84 |
SDL_Event event; |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
85 |
|
| c53e6443 |
sago007 |
2012-04-17 11:04 |
86 |
bool finnish = false; |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
87 |
while (!finnish) |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
88 |
{ |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
89 |
SDL_Delay(10); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
90 |
while ( SDL_PollEvent(&event) ) |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
91 |
{ |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
92 |
if (event.type == SDL_KEYDOWN) |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
93 |
{ |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
94 |
if (event.key.keysym.sym != SDLK_ESCAPE) |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
95 |
*m_key2change = event.key.keysym.sym; |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
96 |
finnish = true; |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
97 |
} |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
98 |
} |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
99 |
} |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
100 |
setLabel(m_keyname+" : "+getKeyName(*m_key2change)); |
| 593aeae4 |
sago007 |
2011-06-25 22:42 |
101 |
} |
| 26ddb424 |
sago007 |
2011-06-09 20:06 |
102 |
|
| 26ddb424 |
sago007 |
2011-06-09 20:06 |
103 |
void InitMenues() |
| 26ddb424 |
sago007 |
2011-06-09 20:06 |
104 |
{ |
| b283e0f7 |
sago007 |
2012-07-29 14:01 |
105 |
standardButton.setSurfaces(menuMarked,menuUnmarked); |
| b283e0f7 |
sago007 |
2012-07-29 14:01 |
106 |
standardButton.thefont = nf_scoreboard_font; |
| 26ddb424 |
sago007 |
2011-06-09 20:06 |
107 |
} |
| 26ddb424 |
sago007 |
2011-06-09 20:06 |
108 |
|
| 67a32395 |
sago007 |
2012-04-19 18:40 |
109 |
void runGame(int gametype,int level); |
| 26ddb424 |
sago007 |
2011-06-09 20:06 |
110 |
|
| 6710d462 |
sago007 |
2012-05-12 17:23 |
111 |
static void runSinglePlayerEndless(Button* b) |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
112 |
{ |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
113 |
runGame(0,0); |
| 26ddb424 |
sago007 |
2011-06-09 20:06 |
114 |
} |
| 26ddb424 |
sago007 |
2011-06-09 20:06 |
115 |
|
| 6710d462 |
sago007 |
2012-05-12 17:23 |
116 |
static void runSinglePlayerTimeTrial(Button* b) |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
117 |
{ |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
118 |
runGame(1,0); |
| 26ddb424 |
sago007 |
2011-06-09 20:06 |
119 |
} |
| 26ddb424 |
sago007 |
2011-06-09 20:06 |
120 |
|
| 6710d462 |
sago007 |
2012-05-12 17:23 |
121 |
static void runStageClear(Button* b) |
| aede0664 |
sago007 |
2012-04-19 19:45 |
122 |
{ |
| aede0664 |
sago007 |
2012-04-19 19:45 |
123 |
runGame(2,0); |
| aede0664 |
sago007 |
2012-04-19 19:45 |
124 |
} |
| aede0664 |
sago007 |
2012-04-19 19:45 |
125 |
|
| 6710d462 |
sago007 |
2012-05-12 17:23 |
126 |
static void runSinglePlayerPuzzle(Button* b) |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
127 |
{ |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
128 |
runGame(3,0); |
| 26ddb424 |
sago007 |
2011-06-09 20:06 |
129 |
} |
| 26ddb424 |
sago007 |
2011-06-09 20:06 |
130 |
|
| 6710d462 |
sago007 |
2012-05-12 17:23 |
131 |
static void runSinglePlayerVs(Button* b) |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
132 |
{ |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
133 |
runGame(4,b->iGeneric1); |
| 26ddb424 |
sago007 |
2011-06-09 20:06 |
134 |
} |
| 26ddb424 |
sago007 |
2011-06-09 20:06 |
135 |
|
| 80b830cd |
sago007 |
2012-08-19 17:51 |
136 |
static void runTwoPlayerTimeTrial(Button* b) |
| b0222eff |
sago007 |
2012-04-22 15:06 |
137 |
{ |
| b0222eff |
sago007 |
2012-04-22 15:06 |
138 |
runGame(10,0); |
| b0222eff |
sago007 |
2012-04-22 15:06 |
139 |
} |
| b0222eff |
sago007 |
2012-04-22 15:06 |
140 |
|
| 80b830cd |
sago007 |
2012-08-19 17:51 |
141 |
static void runTwoPlayerVs(Button* b) |
| b0222eff |
sago007 |
2012-04-22 15:06 |
142 |
{ |
| b0222eff |
sago007 |
2012-04-22 15:06 |
143 |
runGame(11,0); |
| b0222eff |
sago007 |
2012-04-22 15:06 |
144 |
} |
| b0222eff |
sago007 |
2012-04-22 15:06 |
145 |
|
| 80b830cd |
sago007 |
2012-08-19 17:51 |
146 |
static void runHostGame(Button* b) |
| 6710d462 |
sago007 |
2012-05-12 17:23 |
147 |
{ |
| 6710d462 |
sago007 |
2012-05-12 17:23 |
148 |
runGame(12,0); |
| 6710d462 |
sago007 |
2012-05-12 17:23 |
149 |
} |
| 6710d462 |
sago007 |
2012-05-12 17:23 |
150 |
|
| 80b830cd |
sago007 |
2012-08-19 17:51 |
151 |
static void runJoinGame(Button* b) |
| 6710d462 |
sago007 |
2012-05-12 17:23 |
152 |
{ |
| 6710d462 |
sago007 |
2012-05-12 17:23 |
153 |
runGame(13,0); |
| 6710d462 |
sago007 |
2012-05-12 17:23 |
154 |
} |
| 6710d462 |
sago007 |
2012-05-12 17:23 |
155 |
|
| 6710d462 |
sago007 |
2012-05-12 17:23 |
156 |
static void buttonActionMusic(Button* b) |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
157 |
{ |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
158 |
MusicEnabled = !MusicEnabled; |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
159 |
b->setLabel(MusicEnabled? "Music: On" : "Music: Off"); |
| 26ddb424 |
sago007 |
2011-06-09 20:06 |
160 |
} |
| 26ddb424 |
sago007 |
2011-06-09 20:06 |
161 |
|
| 6710d462 |
sago007 |
2012-05-12 17:23 |
162 |
static void buttonActionSound(Button* b) |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
163 |
{ |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
164 |
SoundEnabled = !SoundEnabled; |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
165 |
b->setLabel(SoundEnabled? _("Sound: On") : _("Sound: Off") ); |
| 26ddb424 |
sago007 |
2011-06-09 20:06 |
166 |
} |
| 26ddb424 |
sago007 |
2011-06-09 20:06 |
167 |
|
| 6710d462 |
sago007 |
2012-05-12 17:23 |
168 |
static void buttonActionFullscreen(Button* b) |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
169 |
{ |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
170 |
bFullscreen = !bFullscreen; |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
171 |
b->setLabel(bFullscreen? _("Fullscreen: On") : _("Fullscreen: Off") ); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
172 |
ResetFullscreen(); |
| 26ddb424 |
sago007 |
2011-06-09 20:06 |
173 |
} |
| 26ddb424 |
sago007 |
2011-06-09 20:06 |
174 |
|
| 6710d462 |
sago007 |
2012-05-12 17:23 |
175 |
static void buttonActionPlayer1Name(Button *b) |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
176 |
{ |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
177 |
if (OpenDialogbox(200,100,player1name)) |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
178 |
return; //must save if true |
| 26ddb424 |
sago007 |
2011-06-09 20:06 |
179 |
} |
| 26ddb424 |
sago007 |
2011-06-09 20:06 |
180 |
|
| 6710d462 |
sago007 |
2012-05-12 17:23 |
181 |
static void buttonActionPlayer2Name(Button *b) |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
182 |
{ |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
183 |
if (OpenDialogbox(200,100,player2name)) |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
184 |
return; //must save if true |
| 26ddb424 |
sago007 |
2011-06-09 20:06 |
185 |
} |
| 26ddb424 |
sago007 |
2011-06-09 20:06 |
186 |
|
| 6710d462 |
sago007 |
2012-05-12 17:23 |
187 |
static void buttonActionPortChange(Button *b) |
| b45d8841 |
sago007 |
2012-04-23 19:30 |
188 |
{ |
| b45d8841 |
sago007 |
2012-04-23 19:30 |
189 |
char port[30]; |
| b45d8841 |
sago007 |
2012-04-23 19:30 |
190 |
snprintf(port,sizeof(port),"%i",Config::getInstance()->getInt("portv4") ); |
| 80b830cd |
sago007 |
2012-08-19 17:51 |
191 |
if (OpenDialogbox(200,100,port) && atoi(port)) |
| b45d8841 |
sago007 |
2012-04-23 19:30 |
192 |
{ |
| b45d8841 |
sago007 |
2012-04-23 19:30 |
193 |
Config::getInstance()->setInt("portv4",atoi(port)); |
| b45d8841 |
sago007 |
2012-04-23 19:30 |
194 |
format f(_("Port: %1%") ); |
| b45d8841 |
sago007 |
2012-04-23 19:30 |
195 |
f % port; |
| b45d8841 |
sago007 |
2012-04-23 19:30 |
196 |
b->setLabel(f.str()); |
| b45d8841 |
sago007 |
2012-04-23 19:30 |
197 |
} |
| b45d8841 |
sago007 |
2012-04-23 19:30 |
198 |
} |
| b45d8841 |
sago007 |
2012-04-23 19:30 |
199 |
|
| 6710d462 |
sago007 |
2012-05-12 17:23 |
200 |
static void buttonActionIpChange(Button *b) |
| b45d8841 |
sago007 |
2012-04-23 19:30 |
201 |
{ |
| b45d8841 |
sago007 |
2012-04-23 19:30 |
202 |
char ip[30]; |
| b45d8841 |
sago007 |
2012-04-23 19:30 |
203 |
snprintf(ip,sizeof(ip),"%s",Config::getInstance()->getString("address0").c_str() ); |
| 80b830cd |
sago007 |
2012-08-19 17:51 |
204 |
if (OpenDialogbox(200,100,ip)) |
| b45d8841 |
sago007 |
2012-04-23 19:30 |
205 |
{ |
| b45d8841 |
sago007 |
2012-04-23 19:30 |
206 |
Config::getInstance()->setString("address0",ip); |
| b45d8841 |
sago007 |
2012-04-23 19:30 |
207 |
format f(_("Address: %1%") ); |
| b45d8841 |
sago007 |
2012-04-23 19:30 |
208 |
f % ip; |
| b45d8841 |
sago007 |
2012-04-23 19:30 |
209 |
b->setLabel(f.str()); |
| b45d8841 |
sago007 |
2012-04-23 19:30 |
210 |
} |
| b45d8841 |
sago007 |
2012-04-23 19:30 |
211 |
} |
| b45d8841 |
sago007 |
2012-04-23 19:30 |
212 |
|
| 6710d462 |
sago007 |
2012-05-12 17:23 |
213 |
static void buttonActionHighscores(Button *b) |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
214 |
{ |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
215 |
OpenScoresDisplay(); |
| 26ddb424 |
sago007 |
2011-06-09 20:06 |
216 |
} |
| 26ddb424 |
sago007 |
2011-06-09 20:06 |
217 |
|
| c53e6443 |
sago007 |
2012-04-17 11:04 |
218 |
static void ChangeKeysMenu(long playernumber) |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
219 |
{ |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
220 |
Menu km(&screen,_("Change key bindings"),true); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
221 |
Button_changekey bLeft(&keySettings[playernumber].left,_("Left") ); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
222 |
Button_changekey bRight(&keySettings[playernumber].right,_("Right") ); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
223 |
Button_changekey bUp(&keySettings[playernumber].up,_("Up") ); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
224 |
Button_changekey bDown(&keySettings[playernumber].down,_("Down") ); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
225 |
Button_changekey bPush(&keySettings[playernumber].push,_("Push") ); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
226 |
Button_changekey bSwitch(&keySettings[playernumber].change,_("Change") ); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
227 |
km.addButton(&bLeft); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
228 |
km.addButton(&bRight); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
229 |
km.addButton(&bUp); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
230 |
km.addButton(&bDown); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
231 |
km.addButton(&bPush); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
232 |
km.addButton(&bSwitch); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
233 |
km.run(); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
234 |
} |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
235 |
|
| c53e6443 |
sago007 |
2012-04-17 11:04 |
236 |
static void ChangeKeysMenu1(Button *b) |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
237 |
{ |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
238 |
ChangeKeysMenu(0); |
| 593aeae4 |
sago007 |
2011-06-25 22:42 |
239 |
} |
| 593aeae4 |
sago007 |
2011-06-25 22:42 |
240 |
|
| c53e6443 |
sago007 |
2012-04-17 11:04 |
241 |
static void ChangeKeysMenu2(Button *b) |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
242 |
{ |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
243 |
ChangeKeysMenu(2); |
| 593aeae4 |
sago007 |
2011-06-25 22:42 |
244 |
} |
| fc8e3d6a |
sago007 |
2011-06-25 16:31 |
245 |
|
| 6710d462 |
sago007 |
2012-05-12 17:23 |
246 |
static void ConfigureMenu(Button *b) |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
247 |
{ |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
248 |
Menu cm(&screen,_("Configuration"),true); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
249 |
Button bMusic,bSound,buttonFullscreen,bPlayer1Name,bPlayer2Name; |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
250 |
Button bPlayer1Keys, bPlayer2Keys; |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
251 |
bMusic.setLabel(MusicEnabled? _("Music: On") : _("Music: Off") ); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
252 |
bMusic.setAction(buttonActionMusic); |
| aceba8db |
sago007 |
2012-04-19 20:27 |
253 |
bSound.setLabel(SoundEnabled? _("Sound: On") : _("Sound: Off") ); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
254 |
bSound.setAction(buttonActionSound); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
255 |
buttonFullscreen.setLabel(bFullscreen? _("Fullscreen: On") : _("Fullscreen: Off") ); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
256 |
buttonFullscreen.setAction(buttonActionFullscreen); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
257 |
bPlayer1Name.setAction(buttonActionPlayer1Name); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
258 |
bPlayer1Name.setLabel(_("Change player 1's name") ); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
259 |
bPlayer2Name.setAction(buttonActionPlayer2Name); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
260 |
bPlayer2Name.setLabel(_("Change player 2's name") ); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
261 |
bPlayer1Keys.setAction(ChangeKeysMenu1); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
262 |
bPlayer1Keys.setLabel(_("Change player 1's keys") ); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
263 |
bPlayer2Keys.setAction(ChangeKeysMenu2); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
264 |
bPlayer2Keys.setLabel(_("Change player 2's keys") ); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
265 |
cm.addButton(&bMusic); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
266 |
cm.addButton(&bSound); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
267 |
cm.addButton(&buttonFullscreen); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
268 |
cm.addButton(&bPlayer1Name); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
269 |
cm.addButton(&bPlayer2Name); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
270 |
cm.addButton(&bPlayer1Keys); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
271 |
cm.addButton(&bPlayer2Keys); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
272 |
cm.run(); |
| 26ddb424 |
sago007 |
2011-06-09 20:06 |
273 |
} |
| 26ddb424 |
sago007 |
2011-06-09 20:06 |
274 |
|
| 80b830cd |
sago007 |
2012-08-19 17:51 |
275 |
static void SinglePlayerVsMenu(Button *b) |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
276 |
{ |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
277 |
Menu spvs(&screen,_("Single player VS"),true); |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
278 |
Button d1,d2,d3,d4,d5,d6,d7; |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
279 |
d1.setAction(runSinglePlayerVs); |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
280 |
d2.setAction(runSinglePlayerVs); |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
281 |
d3.setAction(runSinglePlayerVs); |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
282 |
d4.setAction(runSinglePlayerVs); |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
283 |
d5.setAction(runSinglePlayerVs); |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
284 |
d6.setAction(runSinglePlayerVs); |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
285 |
d7.setAction(runSinglePlayerVs); |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
286 |
d1.setPopOnRun(true); |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
287 |
d2.setPopOnRun(true); |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
288 |
d3.setPopOnRun(true); |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
289 |
d4.setPopOnRun(true); |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
290 |
d5.setPopOnRun(true); |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
291 |
d6.setPopOnRun(true); |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
292 |
d7.setPopOnRun(true); |
| e68d08eb |
sago007 |
2013-11-15 22:33 |
293 |
d1.iGeneric1 = 0; |
| e68d08eb |
sago007 |
2013-11-15 22:33 |
294 |
d2.iGeneric1 = 1; |
| e68d08eb |
sago007 |
2013-11-15 22:33 |
295 |
d3.iGeneric1 = 2; |
| e68d08eb |
sago007 |
2013-11-15 22:33 |
296 |
d4.iGeneric1 = 3; |
| e68d08eb |
sago007 |
2013-11-15 22:33 |
297 |
d5.iGeneric1 = 4; |
| e68d08eb |
sago007 |
2013-11-15 22:33 |
298 |
d6.iGeneric1 = 5; |
| e68d08eb |
sago007 |
2013-11-15 22:33 |
299 |
d7.iGeneric1 = 6; |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
300 |
d1.setLabel(_("Very easy")); |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
301 |
d2.setLabel(_("Easy")); |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
302 |
d3.setLabel(_("Below normal")); |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
303 |
d4.setLabel(_("Normal")); |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
304 |
d5.setLabel(_("Above normal")); |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
305 |
d6.setLabel(_("Hard")); |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
306 |
d7.setLabel(_("Hardest")); |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
307 |
spvs.addButton(&d1); |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
308 |
spvs.addButton(&d2); |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
309 |
spvs.addButton(&d3); |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
310 |
spvs.addButton(&d4); |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
311 |
spvs.addButton(&d5); |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
312 |
spvs.addButton(&d6); |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
313 |
spvs.addButton(&d7); |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
314 |
spvs.run(); |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
315 |
} |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
316 |
|
| 80b830cd |
sago007 |
2012-08-19 17:51 |
317 |
static void NetworkMenu(Button *b) |
| b0222eff |
sago007 |
2012-04-22 15:06 |
318 |
{ |
| b0222eff |
sago007 |
2012-04-22 15:06 |
319 |
Menu nm(&screen,_("Network"),true); |
| b45d8841 |
sago007 |
2012-04-23 19:30 |
320 |
Button bPort, bIp, bHost, bJoin; |
| 6710d462 |
sago007 |
2012-05-12 17:23 |
321 |
bHost.setLabel(_("Host game")); |
| 6710d462 |
sago007 |
2012-05-12 17:23 |
322 |
bHost.setAction(runHostGame); |
| 6710d462 |
sago007 |
2012-05-12 17:23 |
323 |
bJoin.setLabel(_("Join game")); |
| 6710d462 |
sago007 |
2012-05-12 17:23 |
324 |
bJoin.setAction(runJoinGame); |
| b45d8841 |
sago007 |
2012-04-23 19:30 |
325 |
format fi(_("Address: %1%") ); |
| b45d8841 |
sago007 |
2012-04-23 19:30 |
326 |
fi % Config::getInstance()->getString("address0"); |
| b45d8841 |
sago007 |
2012-04-23 19:30 |
327 |
bIp.setLabel(fi.str()); |
| b45d8841 |
sago007 |
2012-04-23 19:30 |
328 |
bIp.setAction(buttonActionIpChange); |
| b45d8841 |
sago007 |
2012-04-23 19:30 |
329 |
format fp(_("Port: %1%") ); |
| b45d8841 |
sago007 |
2012-04-23 19:30 |
330 |
fp % Config::getInstance()->getString("portv4"); |
| b45d8841 |
sago007 |
2012-04-23 19:30 |
331 |
bPort.setLabel(fp.str()); |
| b45d8841 |
sago007 |
2012-04-23 19:30 |
332 |
bPort.setAction(buttonActionPortChange); |
| 6710d462 |
sago007 |
2012-05-12 17:23 |
333 |
nm.addButton(&bHost); |
| 6710d462 |
sago007 |
2012-05-12 17:23 |
334 |
nm.addButton(&bJoin); |
| b45d8841 |
sago007 |
2012-04-23 19:30 |
335 |
nm.addButton(&bIp); |
| b45d8841 |
sago007 |
2012-04-23 19:30 |
336 |
nm.addButton(&bPort); |
| b45d8841 |
sago007 |
2012-04-23 19:30 |
337 |
nm.run(); |
| 80b830cd |
sago007 |
2012-08-19 17:51 |
338 |
|
| b0222eff |
sago007 |
2012-04-22 15:06 |
339 |
} |
| b0222eff |
sago007 |
2012-04-22 15:06 |
340 |
|
| 80b830cd |
sago007 |
2012-08-19 17:51 |
341 |
static void MultiplayerMenu(Button *b) |
| b0222eff |
sago007 |
2012-04-22 15:06 |
342 |
{ |
| b0222eff |
sago007 |
2012-04-22 15:06 |
343 |
Menu mm(&screen,_("Multiplayer"),true); |
| b0222eff |
sago007 |
2012-04-22 15:06 |
344 |
Button bTT, bVs, bNet; |
| b0222eff |
sago007 |
2012-04-22 15:06 |
345 |
bTT.setLabel(_("Two player - time trial")); |
| b0222eff |
sago007 |
2012-04-22 15:06 |
346 |
bTT.setAction(runTwoPlayerTimeTrial); |
| b0222eff |
sago007 |
2012-04-22 15:06 |
347 |
bVs.setLabel(_("Two player - vs")); |
| b0222eff |
sago007 |
2012-04-22 15:06 |
348 |
bVs.setAction(runTwoPlayerVs); |
| b0222eff |
sago007 |
2012-04-22 15:06 |
349 |
bNet.setLabel(_("Network/Internet game")); |
| b0222eff |
sago007 |
2012-04-22 15:06 |
350 |
bNet.setAction(NetworkMenu); |
| b0222eff |
sago007 |
2012-04-22 15:06 |
351 |
mm.addButton(&bTT); |
| b0222eff |
sago007 |
2012-04-22 15:06 |
352 |
mm.addButton(&bVs); |
| b0222eff |
sago007 |
2012-04-22 15:06 |
353 |
#if NETWORK |
| b0222eff |
sago007 |
2012-04-22 15:06 |
354 |
mm.addButton(&bNet); |
| b0222eff |
sago007 |
2012-04-22 15:06 |
355 |
#endif |
| b0222eff |
sago007 |
2012-04-22 15:06 |
356 |
mm.run(); |
| b0222eff |
sago007 |
2012-04-22 15:06 |
357 |
} |
| b0222eff |
sago007 |
2012-04-22 15:06 |
358 |
|
| 26ddb424 |
sago007 |
2011-06-09 20:06 |
359 |
void MainMenu() |
| 26ddb424 |
sago007 |
2011-06-09 20:06 |
360 |
{ |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
361 |
InitMenues(); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
362 |
Menu m(&screen,_("Block Attack - Rise of the blocks"),false); |
| b0222eff |
sago007 |
2012-04-22 15:06 |
363 |
Button bHi,bTimetrial1, bStageClear, bPuzzle, bVs1, bMulti, bConfigure,bHighscore; |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
364 |
bHi.setLabel(_("Single player - endless") ); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
365 |
bHi.setAction(runSinglePlayerEndless); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
366 |
bTimetrial1.setLabel(_("Single player - time trial") ); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
367 |
bTimetrial1.setAction(runSinglePlayerTimeTrial); |
| aede0664 |
sago007 |
2012-04-19 19:45 |
368 |
bStageClear.setLabel(_("Single player - stage clear") ); |
| aede0664 |
sago007 |
2012-04-19 19:45 |
369 |
bStageClear.setAction(runStageClear); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
370 |
bPuzzle.setLabel(_("Single player - puzzle mode") ); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
371 |
bPuzzle.setAction(runSinglePlayerPuzzle); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
372 |
bVs1.setLabel(_("Single player - vs") ); |
| 67a32395 |
sago007 |
2012-04-19 18:40 |
373 |
bVs1.setAction(SinglePlayerVsMenu); |
| b0222eff |
sago007 |
2012-04-22 15:06 |
374 |
bMulti.setLabel(_("Multi player") ); |
| b0222eff |
sago007 |
2012-04-22 15:06 |
375 |
bMulti.setAction(MultiplayerMenu); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
376 |
bConfigure.setLabel(_("Configure") ); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
377 |
bConfigure.setAction(ConfigureMenu); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
378 |
bHighscore.setLabel(_("Highscores") ); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
379 |
bHighscore.setAction(buttonActionHighscores); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
380 |
m.addButton(&bHi); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
381 |
m.addButton(&bTimetrial1); |
| aede0664 |
sago007 |
2012-04-19 19:45 |
382 |
m.addButton(&bStageClear); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
383 |
m.addButton(&bPuzzle); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
384 |
m.addButton(&bVs1); |
| b0222eff |
sago007 |
2012-04-22 15:06 |
385 |
m.addButton(&bMulti); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
386 |
m.addButton(&bConfigure); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
387 |
m.addButton(&bHighscore); |
| c53e6443 |
sago007 |
2012-04-17 11:04 |
388 |
m.run(); |
| 593aeae4 |
sago007 |
2011-06-25 22:42 |
389 |
} |
|
|
1970-01-01 00:00 |
390 |
|