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