-
Notifications
You must be signed in to change notification settings - Fork 3
/
Menu.h
309 lines (236 loc) · 6.51 KB
/
Menu.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
/****************************************************************************
**
** Menu.h Stefan Disch, Tobias Nopper, Martina Welte 2001
**
****************************************************************************/
#include "sprache.h"
#define AUS 0
#define STARTBILDSCHIRM 1
#define HAUPTMENU 2
#define TRAINING 3
#define ZWEISPIELER 4
#define NETZWERKHAUPT 5
#define NETZWERKNEU 6
#define NETZWERKBEITRETEN 7
#define BEENDEN 8
#define AUSSPIEL 9
#define EINSTELLUNGEN 10
#define EINSTELLUNGENSTEUERUNG 11
#define EINSTELLUNGENGRAFIK 12
#define EINSTELLUNGENGRAFIKHINWEIS 13
#define EINSTELLUNGENAUDIO 14
#define SPRACHAUSWAHL 15
#define SPIEL 20
#define HILFE 30
#define HILFEREGELN1 31
#define HILFEREGELN2 32
#define HILFEREGELN3 33
#define HILFEREGELN4 34
#define HILFEREGELN5 35
#define HILFEREGELN6 36
#define HILFEREGELN7 37
#define HILFEREGELN8 38
#define HILFEEINFUEHRUNG1 41
#define HILFEEINFUEHRUNG2 42
#define HILFEEINFUEHRUNG3 43
#define HILFEEINFUEHRUNG4 44
#define HILFEEINFUEHRUNG5 45
#define HILFEEINFUEHRUNG6 46
#define HILFEEINFUEHRUNG7 47
#define HILFEEINFUEHRUNG8 48
#define HILFETASTENBELEGUNGEN 49
#define SPIELENDE 99
#define S_SB_LOGO 100
#define S_SB_NAMEN 101
#define S_LOGO 102
#define S_HM_TRAINING 110
#define S_HM_ZWEISPIELER 111
#define S_HM_NETZWERKSPIEL 112
#define S_HM_EINSTELLUNGEN 113
#define S_HM_BEENDEN 114
#define S_HM_COMPUTERGEGNER 115
#define S_HM_HILFE 116
#define S_TR_ACHTBALL 120
#define S_TR_NEUNBALL 121
#define S_TR_VIERZEHNPLUSEINS 122
#define S_TR_ZURUECK 123
#define S_ZW_ACHTBALL 130
#define S_ZW_NEUNBALL 131
#define S_ZW_VIERZEHNPLUSEINS 132
#define S_ZW_ZURUECK 133
#define S_NE_BEGINNEN 140
#define S_NE_TEILNEHMEN 141
#define S_NE_ZURUECK 142
#define S_NB_ACHTBALL 150
#define S_NB_NEUNBALL 151
#define S_NB_VIERZEHNPLUSEINS 152
#define S_NB_ZURUECK 153
#define S_NT_IPADRESSE 160
#define S_NT_VERBINDEN 161
#define S_NT_ZURUECK 162
#define S_EI_BALLTEXTUREN 170
#define S_EI_TISCHTEXTUREN 180
#define S_EI_ANZEIGETEXTUREN 190
#define S_EI_TEXTURINTERPOLATION 195
#define S_EI_BALLGEOMETRIE 201
#define S_EI_MOUSESPEED 202
#define S_EI_XINVERT 203
#define S_EI_YINVERT 204
#define S_EI_SPRACHE 205
#define S_EI_ZURUECK 220
#define S_EI_ZURUECK_AS 221
#define S_EI_UEBERNEHMEN 222
#define S_EI_STEUERUNG 223
#define S_EI_STEUERUNGZURUECK 224
#define S_EI_STEUERUNGUEBERNEHMEN 225
#define S_EI_AUDIO 226
#define S_EI_AUDIOZURUECK 227
#define S_EI_AUDIOUEBERNEHMEN 228
#define S_EI_GRAFIK 800
#define S_EI_GRAFIKZURUECK 801
#define S_EI_GRAFIKUEBERNEHMEN 802
#define S_EI_AUFLOESUNG 803
#define S_EI_FARBTIEFE 804
#define S_EI_REFLEKTIONEN 805
#define S_EI_QUALITAET 806
#define S_EI_SCHATTEN 807
#define S_EI_AMBIENTESLICHT 808
#define S_EI_TISCHLAMPEN 809
#define S_EI_GRUENELAMPE 810
#define S_EI_FPS 811
#define S_AS_WEITERSPIELEN 230
#define S_AS_HAUPTMENU 231
#define S_AS_EINSTELLUNGEN 232
#define S_AS_BEENDEN 233
#define S_AS_HILFE 234
#define S_BE_JABEENDEN 850
#define S_BE_ZURUECK 851
#define S_BE_ZURUECK_AS 852
#define S_SP_LOGO 500
#define S_SP_BALL 510
#define S_SP_WEITERSPIELEN 530
#define S_SP_ACHTEINSETZEN 531
#define S_SP_NEUAUFBAUEN 532
#define S_SP_HAUPTMENU 540
#define S_SP_NEUESSPIEL 541
#define S_SP_NEUEACHTBALLAUFSTELLUNG 550
#define S_SP_NEUENEUNBALLAUFSTELLUNG 551
#define S_SPIELER1HERHOEREN 601
#define S_SPIELER2HERHOEREN 602
#define S_NETZWERKSPIELERHERHOEREN 603
#define S_H_TASTENBELEGUNGEN 300
#define S_H_BILLARDREGELN 301
#define S_H_TUTORIAL 302
#define S_H_ZUHILFE 303
#define S_H_E1_N 304
#define S_H_E2_N 305
#define S_H_E2_L 306
#define S_H_E3_N 307
#define S_H_E3_L 308
#define S_H_E4_N 309
#define S_H_E4_L 310
#define S_H_E5_N 311
#define S_H_E5_L 312
#define S_H_E6_N 313
#define S_H_E6_L 314
#define S_H_R1_N 315
#define S_H_R2_N 316
#define S_H_R2_L 317
#define S_H_R3_N 318
#define S_H_R3_L 319
#define S_H_R4_N 320
#define S_H_R4_L 321
#define S_H_R5_N 322
#define S_H_R5_L 323
#define S_H_R6_N 324
#define S_H_R6_L 325
#define ANIMATIONSDAUER 100
class Menu {
public:
Menu();
void Initialisiere(GLint);
void male();
void Update(GLint);
GLint Maustaste(int,int,int,int);
GLint KeyboardTaste (unsigned char,int,int);
void NeuerMenuZustand();
void SignalAusfuehrung(GLint);
void SetzeMenuZustand(GLint);
void SetzeFPS(GLint);
void ladeSprache(GLint);
private:
void StarteAnimation();
GLint Animationszeit;
GLint InAnimation;
GLint MenuZustand;
GLint AusSpiel;
Schild menuhintergrund;
Schild logo;
Schild namen;
Schild halbe;
Schild volle;
Schild ball[16];
Schild GameStar;
Schild* SchildArray[300];
Textfeld* TextfeldArray[1000];
Textfeld dummyTextfeld;
GLint TDL;
//GLint TTA;
GLint SchildAnzahl;
GLint TextfeldAnzahl;
GLint E_Texturgroesse;
GLint E_AnzeigeTexturgroesse;
GLint E_TischTexturgroesse;
GLint E_KugelAufloesung;
GLfloat E_MouseSpeed;
GLint E_InvertX;
GLint E_InvertY;
GLint MenuGesperrt;
GLint E_Reflektionen;
GLint E_Farbtiefe;
GLint E_BildschirmAufloesung;
GLint Qualitaet;
GLint E_Schatten;
GLint E_AmbientesLicht;
GLint E_TischLampen;
GLint E_GrueneLampe;
GLint E_ZeigeFPS;
GLint E_TexMMM;
};
extern GLint StateMaschin;
extern GLint Spiel;
extern class Kamera Kamera;
extern GLint Texturgroesse,
AnzeigeTexturgroesse,
TischTexturgroesse,
KugelAufloesung,
InvertX,
InvertY,
Schatten,
SpielModus,
SpielerAmStoss;
extern GLfloat MouseSpeed;
extern GLint KugelnVersenkt[16];
extern GLint KugelnImSpiel[16];
extern class Kugel Kugel[16];
extern class Tisch Tisch;
extern class Anzeige Anzeige;
extern class Schiedsrichter Schiedsrichter;
extern class Beleuchtung Beleuchtung;
extern GLint SchiedsrichterEntscheidung;
extern GLint SpielerAmStoss;
extern GLint AufnahmeWechsel;
extern GLint Foul;
extern GLint LageVerbesserungKopffeld;
extern GLint LageVerbesserung;
extern GLint NeuAufbauenOderWeiterspielen;
extern GLint NeuAufbauenOderAchtEinsetzen;
extern GLint Spieler1Gewonnen;
extern GLint Spieler2Gewonnen;
extern GLint AllerersterStoss;
extern GLint ZeigeFPS,TischLampen,GrueneLampe;
extern GLfloat EffektLautstaerke,MusikLautstaerke;
extern GLint TexMMM;
extern GLint DelayAusgleich;
extern GLint xnor;
extern char Spieler1[10],Spieler2[10],NetzwerkSpieler[10],NetzwerkGegner[10];