- while(waiting) {
- int i;
- SDL_WaitEvent(&evenement);
-
- switch(evenement.type) {
- case SDL_KEYDOWN:
- if(evenement.key.keysym.sym == SDLK_ESCAPE) {
- for(i=0;i<255;i++){
- displaytext[0][i]=' ';
- }
- displaychars[0]=0;
- displayselected=0;
- mainmenutogglekeydown=1;
- waiting=false;
- } else if(evenement.key.keysym.sym==SDLK_BACKSPACE&&displayselected!=0){
- for(i=displayselected-1;i<255;i++){
- displaytext[0][i]=displaytext[0][i+1];
- }
- displaytext[0][255]=' ';
- displayselected--;
- displaychars[0]--;
- } else if(evenement.key.keysym.sym==SDLK_DELETE&&displayselected!=0){
- for(i=displayselected;i<255;i++){
- displaytext[0][i]=displaytext[0][i+1];
- }
- displaytext[0][255]=' ';
- displaychars[0]--;
- } else if(evenement.key.keysym.sym==SDLK_LEFT&&displayselected!=0){
- displayselected--;
- } else if(evenement.key.keysym.sym==SDLK_RIGHT&&displayselected<displaychars[0]){
- displayselected++;
- } else if(evenement.key.keysym.sym==SDLK_RETURN) {
- if(displaychars[0]){
- accountactive = Account::add(string(displaytext[0]));
-
- mainmenu=8;
-
- flash();
-
- fireSound(firestartsound);
-
- for(i=0;i<255;i++){
- displaytext[0][i]=' ';
- }
- displaychars[0]=0;
-
- displayselected=0;
- }
- waiting=false;
- } else if(evenement.key.keysym.unicode&&displaychars[0]<60) {
- for(i=255;i>=displayselected+1;i--){
- displaytext[0][i]=displaytext[0][i-1];
- }
- displaytext[0][displayselected]=evenement.key.keysym.unicode;
- displayselected++;
- displaychars[0]++;
- printf("%c\n",evenement.key.keysym.unicode);
+ SDL_PollEvent(&evenement);
+
+ switch(evenement.type) {
+ case SDL_KEYDOWN:
+ if(evenement.key.keysym.sym == SDLK_ESCAPE) {
+ for(i=0;i<255;i++)
+ str[i]=0;
+ *nb_chars=0;
+ *charselected=0;
+ waiting=false;
+ } else if(evenement.key.keysym.sym==SDLK_BACKSPACE){
+ if((*charselected)!=0) {
+ for(i=(*charselected)-1;i<255;i++)
+ str[i]=str[i+1];
+ str[255]=0;
+ (*charselected)--;
+ (*nb_chars)--;