int menu() { SDL_Event mevent; int option=1, i; /* pirutupiiii */ if(efx[7]) Mix_PlayChannel(-1,efx[7],0); drawMenu(option); /* some dirty init */ scroll=scroll2=0; while(1) { while(SDL_PollEvent(&mevent)) { if (mevent.type==SDL_QUIT) return 0; /* joystick control for the menu */ if(joy[0]) { SDL_JoystickUpdate(); i=SDL_JoystickGetAxis(joy[0],1); if(i>4200) { mevent.type=SDL_KEYDOWN; mevent.key.keysym.sym=SDLK_DOWN; } if(i<-4200) { mevent.type=SDL_KEYDOWN; mevent.key.keysym.sym=SDLK_UP; } if(SDL_JoystickGetButton(joy[0], 0)) { mevent.type=SDL_KEYDOWN; mevent.key.keysym.sym=SDLK_RETURN; } if(SDL_JoystickGetButton(joy[0], 1)) { mevent.type=SDL_KEYDOWN; mevent.key.keysym.sym=SDLK_ESCAPE; } } if(mevent.type==SDL_KEYDOWN) { if(mevent.key.keysym.sym==SDLK_ESCAPE) return 0; if(mevent.key.keysym.sym==SDLK_DOWN || mevent.key.keysym.sym==SDLK_s) { option++; if(option>6) option=1; drawMenu(option); } if(mevent.key.keysym.sym==SDLK_UP || mevent.key.keysym.sym==SDLK_w) { option--; if(option<1) option=6; drawMenu(option); } if(mevent.key.keysym.sym==SDLK_RETURN) { switch(option) { default: break; case 1: player[0].shield=10; player[1].shield=0; player[0].score=player[1].score=0; player[0].stage=player[1].stage=0; return 1; case 2: player[0].shield=10; player[1].shield=10; player[0].score=player[1].score=0; player[0].stage=player[1].stage=0; return 1; case 3: if(!hiscores()) return 0; drawMenu(option); break; case 4: if(!configure()) return 0; drawMenu(option); break; case 5: if(!credits()) return 0; drawMenu(option); break; case 6: return 0; break; } } } } } return 0; }
int menu() { SDL_Event mevent; int option=0, menu=1; //option=1 /* pirutupiiii */ if(efx[7]) Mix_PlayChannel(-1,efx[7],0); drawMenu(option); /* some dirty init */ scroll=scroll2=0; while(1) { while(SDL_WaitEvent(&mevent)) { if (mevent.type==SDL_QUIT) return 0; if (mevent.type == SDL_MOUSEBUTTONDOWN) { //SDL_GetMouseState(&mouse_x, &mouse_y); //printf("mouse x: %i, Mouse y:%i\n",mouse_x, mouse_y); option=clickDetect(menu, mevent.button.button, mevent.button.x,mevent.button.y); //printf("option %i\n",option); drawMenu(option); SDL_Delay(200); mevent.type=SDL_KEYDOWN; mevent.key.keysym.sym=SDLK_RETURN; } /*if (mevent.type == SDL_MOUSEBUTTONUP){ }*/ /*if(SDL_GetMouseState(NULL, NULL)&SDL_BUTTON(1)) { mevent.type=SDL_KEYDOWN; mevent.key.keysym.sym=SDLK_RETURN; }*/ if(mevent.type==SDL_KEYDOWN) { if(mevent.key.keysym.sym==SDLK_ESCAPE) return 0; if(mevent.key.keysym.sym==SDLK_DOWN || mevent.key.keysym.sym==SDLK_d) {//SDLK_s option++; if(option>5)//6 option=1; drawMenu(option); } if(mevent.key.keysym.sym==SDLK_UP || mevent.key.keysym.sym==SDLK_f) {//SDLK_w option--; if(option<1) option=5; drawMenu(option); } if(mevent.key.keysym.sym==SDLK_RETURN) { switch(option) { default: break; case 1: player[0].shield=10; player[1].shield=0; player[0].score=player[1].score=0; player[0].stage=player[1].stage=0; return 1; case 2://3 if(!hiscores()) return 0; drawMenu(option); break; case 3://4 if(!configure()) return 0; drawMenu(option); break; case 4://5 if(!credits()) return 0; drawMenu(option); break; case 5://6 return 0; break; } } } } } return 0; }