mirror of
https://github.com/FunKey-Project/Bibi.git
synced 2026-03-24 12:53:03 +01:00
First commit, compiles without sound for now. Need to change controls, levels, remove some menus, and make sound work
This commit is contained in:
687
src/niveau.c
Normal file
687
src/niveau.c
Normal file
@@ -0,0 +1,687 @@
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <SDL.h>
|
||||
#include "SDL_image.h"
|
||||
#include "../include/editeur.h"
|
||||
#include "../include/misc.h"
|
||||
#include "../include/constant.h"
|
||||
#include "../include/niveau.h"
|
||||
|
||||
#ifdef HW_SCREEN_RESIZE
|
||||
extern SDL_Surface *hw_screen;
|
||||
#endif //HW_SCREEN_RESIZE
|
||||
|
||||
int niveau_1_joueur(SDL_Surface *screen, int niveau){
|
||||
int continuer = 1;
|
||||
SDL_Surface *menu = NULL;
|
||||
SDL_Event event;
|
||||
SDL_Rect positionMenu;
|
||||
|
||||
#ifdef HW_SCREEN_RESIZE
|
||||
//if(screen != NULL) SDL_FreeSurface(screen);
|
||||
screen = SDL_CreateRGBSurface(SDL_SWSURFACE, 480,480, WINDOW_BPP, 0, 0, 0, 0);
|
||||
#else //HW_SCREEN_RESIZE
|
||||
screen = SDL_SetVideoMode(480,480, WINDOW_BPP, SDL_HWSURFACE);
|
||||
if (screen == NULL) {
|
||||
error("Can't set video mode: %s\n", SDL_GetError());
|
||||
exit(1);
|
||||
}
|
||||
#endif //HW_SCREEN_RESIZE
|
||||
|
||||
switch (niveau){
|
||||
case -1:
|
||||
menu = IMG_Load("sprite/legende_editeur.png");
|
||||
break;
|
||||
case 0:
|
||||
menu = IMG_Load("sprite/win_the_game.png");
|
||||
break;
|
||||
case 1:
|
||||
menu = IMG_Load("sprite/niveau_1.png");
|
||||
break;
|
||||
case 2:
|
||||
menu = IMG_Load("sprite/niveau_2.png");
|
||||
break;
|
||||
case 3:
|
||||
menu = IMG_Load("sprite/niveau_3.png");
|
||||
break;
|
||||
case 4:
|
||||
menu = IMG_Load("sprite/niveau_4.png");
|
||||
break;
|
||||
case 5:
|
||||
menu = IMG_Load("sprite/niveau_5.png");
|
||||
break;
|
||||
case 6:
|
||||
menu = IMG_Load("sprite/niveau_6.png");
|
||||
break;
|
||||
case 7:
|
||||
menu = IMG_Load("sprite/niveau_7.png");
|
||||
break;
|
||||
case 8:
|
||||
menu = IMG_Load("sprite/niveau_8.png");
|
||||
break;
|
||||
case 9:
|
||||
menu = IMG_Load("sprite/niveau_9.png");
|
||||
break;
|
||||
case 10:
|
||||
menu = IMG_Load("sprite/niveau_10.png");
|
||||
break;
|
||||
}
|
||||
positionMenu.x = 0;
|
||||
positionMenu.y = 0;
|
||||
|
||||
while (continuer)
|
||||
{
|
||||
SDL_WaitEvent(&event);
|
||||
switch(event.type)
|
||||
{
|
||||
case SDL_QUIT:
|
||||
SDL_FreeSurface(menu);
|
||||
return 1;
|
||||
break;
|
||||
case SDL_KEYDOWN:
|
||||
switch(event.key.keysym.sym)
|
||||
{
|
||||
case SDLK_ESCAPE:
|
||||
SDL_FreeSurface(menu);
|
||||
return 1;
|
||||
break;
|
||||
case SDLK_RETURN:
|
||||
continuer = 0;
|
||||
break;
|
||||
case SDLK_KP_ENTER:
|
||||
continuer = 0;
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
SDL_FillRect(screen, NULL, SDL_MapRGB(screen->format, 0, 0, 0));
|
||||
SDL_BlitSurface(menu, NULL, screen, &positionMenu);
|
||||
#ifdef HW_SCREEN_RESIZE
|
||||
SDL_FillRect(hw_screen, NULL, 0x000000);
|
||||
flip_NNOptimized_AllowOutOfScreen(screen, hw_screen,
|
||||
HW_SCREEN_WIDTH,
|
||||
MIN(screen->h*HW_SCREEN_WIDTH/screen->w, HW_SCREEN_HEIGHT));
|
||||
SDL_Flip(hw_screen);
|
||||
#else //HW_SCREEN_RESIZE
|
||||
SDL_Flip(screen);
|
||||
#endif //HW_SCREEN_RESIZE
|
||||
}
|
||||
SDL_FreeSurface(menu);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int niveau_2_joueur(SDL_Surface *screen, int choix_niveau){
|
||||
|
||||
#ifdef HW_SCREEN_RESIZE
|
||||
//if(screen != NULL) SDL_FreeSurface(screen);
|
||||
screen = SDL_CreateRGBSurface(SDL_SWSURFACE, 480,480, WINDOW_BPP, 0, 0, 0, 0);
|
||||
#else //HW_SCREEN_RESIZE
|
||||
screen = SDL_SetVideoMode(480,480, WINDOW_BPP, SDL_HWSURFACE);
|
||||
if (screen == NULL) {
|
||||
error("Can't set video mode: %s\n", SDL_GetError());
|
||||
exit(1);
|
||||
}
|
||||
#endif //HW_SCREEN_RESIZE
|
||||
int continuer = 1, choix_actuel=choix_niveau;
|
||||
SDL_Surface *menu = NULL;
|
||||
SDL_Event event;
|
||||
SDL_Rect positionMenu;
|
||||
positionMenu.x = 0;
|
||||
positionMenu.y = 0;
|
||||
switch (choix_actuel){
|
||||
case 1:
|
||||
menu = IMG_Load("sprite/niveau_2p_1.png");
|
||||
break;
|
||||
case 2:
|
||||
menu = IMG_Load("sprite/niveau_2p_2.png");
|
||||
break;
|
||||
case 3:
|
||||
menu = IMG_Load("sprite/niveau_2p_3.png");
|
||||
break;
|
||||
case 4:
|
||||
menu = IMG_Load("sprite/niveau_2p_4.png");
|
||||
break;
|
||||
case 5:
|
||||
menu = IMG_Load("sprite/niveau_2p_5.png");
|
||||
break;
|
||||
case 6:
|
||||
menu = IMG_Load("sprite/niveau_2p_6.png");
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
while (continuer)
|
||||
{
|
||||
SDL_WaitEvent(&event);
|
||||
switch(event.type)
|
||||
{
|
||||
case SDL_QUIT:
|
||||
continuer=0;
|
||||
break;
|
||||
case SDL_KEYDOWN:
|
||||
switch(event.key.keysym.sym)
|
||||
{
|
||||
case SDLK_ESCAPE: // Veut arr<72>ter le jeu
|
||||
continuer=0;
|
||||
break;
|
||||
case SDLK_UP:
|
||||
switch(choix_actuel){
|
||||
case 1:
|
||||
menu = IMG_Load("sprite/niveau_2p_6.png");;
|
||||
choix_actuel=6;
|
||||
break;
|
||||
case 2:
|
||||
menu = IMG_Load("sprite/niveau_2p_1.png");
|
||||
choix_actuel=1;
|
||||
break;
|
||||
case 3:
|
||||
menu = IMG_Load("sprite/niveau_2p_2.png");
|
||||
choix_actuel=2;
|
||||
break;
|
||||
case 4:
|
||||
menu = IMG_Load("sprite/niveau_2p_3.png");;
|
||||
choix_actuel=3;
|
||||
break;
|
||||
case 5:
|
||||
menu = IMG_Load("sprite/niveau_2p_4.png");
|
||||
choix_actuel=4;
|
||||
break;
|
||||
case 6:
|
||||
menu = IMG_Load("sprite/niveau_2p_5.png");
|
||||
choix_actuel=5;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case SDLK_DOWN:
|
||||
switch(choix_actuel){
|
||||
case 1:
|
||||
menu = IMG_Load("sprite/niveau_2p_2.png");;
|
||||
choix_actuel=2;
|
||||
break;
|
||||
case 2:
|
||||
menu = IMG_Load("sprite/niveau_2p_3.png");
|
||||
choix_actuel=3;
|
||||
break;
|
||||
case 3:
|
||||
menu = IMG_Load("sprite/niveau_2p_4.png");
|
||||
choix_actuel=4;
|
||||
break;
|
||||
case 4:
|
||||
menu = IMG_Load("sprite/niveau_2p_5.png");;
|
||||
choix_actuel=5;
|
||||
break;
|
||||
case 5:
|
||||
menu = IMG_Load("sprite/niveau_2p_6.png");
|
||||
choix_actuel=6;
|
||||
break;
|
||||
case 6:
|
||||
menu = IMG_Load("sprite/niveau_2p_1.png");
|
||||
choix_actuel=1;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case SDLK_RETURN:
|
||||
SDL_FreeSurface(menu);
|
||||
return choix_actuel;
|
||||
break;
|
||||
case SDLK_KP_ENTER:
|
||||
SDL_FreeSurface(menu);
|
||||
return choix_actuel;
|
||||
break;
|
||||
|
||||
default : break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
SDL_FillRect(screen, NULL, SDL_MapRGB(screen->format, 0, 0, 0));
|
||||
SDL_BlitSurface(menu, NULL, screen, &positionMenu);
|
||||
#ifdef HW_SCREEN_RESIZE
|
||||
SDL_FillRect(hw_screen, NULL, 0x000000);
|
||||
flip_NNOptimized_AllowOutOfScreen(screen, hw_screen,
|
||||
HW_SCREEN_WIDTH,
|
||||
MIN(screen->h*HW_SCREEN_WIDTH/screen->w, HW_SCREEN_HEIGHT));
|
||||
SDL_Flip(hw_screen);
|
||||
#else //HW_SCREEN_RESIZE
|
||||
SDL_Flip(screen);
|
||||
#endif //HW_SCREEN_RESIZE
|
||||
}
|
||||
SDL_FreeSurface(menu);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int editeur_choix_niveau(SDL_Surface *screen){
|
||||
|
||||
#ifdef HW_SCREEN_RESIZE
|
||||
//if(screen != NULL) SDL_FreeSurface(screen);
|
||||
screen = SDL_CreateRGBSurface(SDL_SWSURFACE, 480,480, WINDOW_BPP, 0, 0, 0, 0);
|
||||
#else //HW_SCREEN_RESIZE
|
||||
screen = SDL_SetVideoMode(480,480, WINDOW_BPP, SDL_HWSURFACE);
|
||||
if (screen == NULL) {
|
||||
error("Can't set video mode: %s\n", SDL_GetError());
|
||||
exit(1);
|
||||
}
|
||||
#endif //HW_SCREEN_RESIZE
|
||||
int continuer = 1, choix_actuel=1;
|
||||
SDL_Surface *menu = NULL;
|
||||
SDL_Event event;
|
||||
SDL_Rect positionMenu;
|
||||
positionMenu.x = 0;
|
||||
positionMenu.y = 0;
|
||||
menu = IMG_Load("sprite/niveau_2p_1.png");
|
||||
while (continuer)
|
||||
{
|
||||
SDL_WaitEvent(&event);
|
||||
switch(event.type)
|
||||
{
|
||||
case SDL_QUIT:
|
||||
continuer=0;
|
||||
break;
|
||||
case SDL_KEYDOWN:
|
||||
switch(event.key.keysym.sym)
|
||||
{
|
||||
case SDLK_ESCAPE: // Veut arr<72>ter le jeu
|
||||
continuer=0;
|
||||
break;
|
||||
case SDLK_UP:
|
||||
switch(choix_actuel){
|
||||
case 1:
|
||||
menu = IMG_Load("sprite/niveau_2p_6.png");;
|
||||
choix_actuel=6;
|
||||
break;
|
||||
case 2:
|
||||
menu = IMG_Load("sprite/niveau_2p_1.png");
|
||||
choix_actuel=1;
|
||||
break;
|
||||
case 3:
|
||||
menu = IMG_Load("sprite/niveau_2p_2.png");
|
||||
choix_actuel=2;
|
||||
break;
|
||||
case 4:
|
||||
menu = IMG_Load("sprite/niveau_2p_3.png");;
|
||||
choix_actuel=3;
|
||||
break;
|
||||
case 5:
|
||||
menu = IMG_Load("sprite/niveau_2p_4.png");
|
||||
choix_actuel=4;
|
||||
break;
|
||||
case 6:
|
||||
menu = IMG_Load("sprite/niveau_2p_5.png");
|
||||
choix_actuel=5;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case SDLK_DOWN:
|
||||
switch(choix_actuel){
|
||||
case 1:
|
||||
menu = IMG_Load("sprite/niveau_2p_2.png");;
|
||||
choix_actuel=2;
|
||||
break;
|
||||
case 2:
|
||||
menu = IMG_Load("sprite/niveau_2p_3.png");
|
||||
choix_actuel=3;
|
||||
break;
|
||||
case 3:
|
||||
menu = IMG_Load("sprite/niveau_2p_4.png");
|
||||
choix_actuel=4;
|
||||
break;
|
||||
case 4:
|
||||
menu = IMG_Load("sprite/niveau_2p_5.png");;
|
||||
choix_actuel=5;
|
||||
break;
|
||||
case 5:
|
||||
menu = IMG_Load("sprite/niveau_2p_6.png");
|
||||
choix_actuel=6;
|
||||
break;
|
||||
case 6:
|
||||
menu = IMG_Load("sprite/niveau_2p_1.png");
|
||||
choix_actuel=1;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case SDLK_RETURN:
|
||||
SDL_FreeSurface(menu);
|
||||
return choix_actuel;
|
||||
break;
|
||||
case SDLK_KP_ENTER:
|
||||
SDL_FreeSurface(menu);
|
||||
return choix_actuel;
|
||||
break;
|
||||
|
||||
default : break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
SDL_FillRect(screen, NULL, SDL_MapRGB(screen->format, 0, 0, 0));
|
||||
SDL_BlitSurface(menu, NULL, screen, &positionMenu);
|
||||
#ifdef HW_SCREEN_RESIZE
|
||||
SDL_FillRect(hw_screen, NULL, 0x000000);
|
||||
flip_NNOptimized_AllowOutOfScreen(screen, hw_screen,
|
||||
HW_SCREEN_WIDTH,
|
||||
MIN(screen->h*HW_SCREEN_WIDTH/screen->w, HW_SCREEN_HEIGHT));
|
||||
SDL_Flip(hw_screen);
|
||||
#else //HW_SCREEN_RESIZE
|
||||
SDL_Flip(screen);
|
||||
#endif //HW_SCREEN_RESIZE
|
||||
}
|
||||
SDL_FreeSurface(menu);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int are_you_sure(SDL_Surface *screen){
|
||||
|
||||
#ifdef HW_SCREEN_RESIZE
|
||||
//if(screen != NULL) SDL_FreeSurface(screen);
|
||||
screen = SDL_CreateRGBSurface(SDL_SWSURFACE, 480,480, WINDOW_BPP, 0, 0, 0, 0);
|
||||
#else //HW_SCREEN_RESIZE
|
||||
screen = SDL_SetVideoMode(480,480, WINDOW_BPP, SDL_HWSURFACE);
|
||||
if (screen == NULL) {
|
||||
error("Can't set video mode: %s\n", SDL_GetError());
|
||||
exit(1);
|
||||
}
|
||||
#endif //HW_SCREEN_RESIZE
|
||||
int continuer = 1, choix_actuel=1;
|
||||
SDL_Surface *menu = NULL;
|
||||
SDL_Event event;
|
||||
SDL_Rect positionMenu;
|
||||
positionMenu.x = 0;
|
||||
positionMenu.y = 0;
|
||||
menu = IMG_Load("sprite/sure_yes.png");
|
||||
while (continuer)
|
||||
{
|
||||
SDL_WaitEvent(&event);
|
||||
switch(event.type)
|
||||
{
|
||||
case SDL_QUIT:
|
||||
continuer=0;
|
||||
break;
|
||||
case SDL_KEYDOWN:
|
||||
switch(event.key.keysym.sym)
|
||||
{
|
||||
case SDLK_ESCAPE: // Veut arr<72>ter le jeu
|
||||
continuer=0;
|
||||
break;
|
||||
case SDLK_LEFT:
|
||||
switch(choix_actuel){
|
||||
case 1:
|
||||
menu = IMG_Load("sprite/sure_no.png");;
|
||||
choix_actuel=2;
|
||||
break;
|
||||
case 2:
|
||||
menu = IMG_Load("sprite/sure_yes.png");
|
||||
choix_actuel=1;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case SDLK_RIGHT:
|
||||
switch(choix_actuel){
|
||||
case 1:
|
||||
menu = IMG_Load("sprite/sure_no.png");;
|
||||
choix_actuel=2;
|
||||
break;
|
||||
case 2:
|
||||
menu = IMG_Load("sprite/sure_yes.png");
|
||||
choix_actuel=1;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case SDLK_RETURN:
|
||||
SDL_FreeSurface(menu);
|
||||
return choix_actuel;
|
||||
break;
|
||||
case SDLK_KP_ENTER:
|
||||
SDL_FreeSurface(menu);
|
||||
return choix_actuel;
|
||||
break;
|
||||
|
||||
default : break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
SDL_FillRect(screen, NULL, SDL_MapRGB(screen->format, 0, 0, 0));
|
||||
SDL_BlitSurface(menu, NULL, screen, &positionMenu);
|
||||
#ifdef HW_SCREEN_RESIZE
|
||||
SDL_FillRect(hw_screen, NULL, 0x000000);
|
||||
flip_NNOptimized_AllowOutOfScreen(screen, hw_screen,
|
||||
HW_SCREEN_WIDTH,
|
||||
MIN(screen->h*HW_SCREEN_WIDTH/screen->w, HW_SCREEN_HEIGHT));
|
||||
SDL_Flip(hw_screen);
|
||||
#else //HW_SCREEN_RESIZE
|
||||
SDL_Flip(screen);
|
||||
#endif //HW_SCREEN_RESIZE
|
||||
}
|
||||
SDL_FreeSurface(menu);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int choix_nb_joueurs(SDL_Surface *screen){
|
||||
|
||||
#ifdef HW_SCREEN_RESIZE
|
||||
//if(screen != NULL) SDL_FreeSurface(screen);
|
||||
screen = SDL_CreateRGBSurface(SDL_SWSURFACE, 480,480, WINDOW_BPP, 0, 0, 0, 0);
|
||||
#else //HW_SCREEN_RESIZE
|
||||
screen = SDL_SetVideoMode(480,480, WINDOW_BPP, SDL_HWSURFACE);
|
||||
if (screen == NULL) {
|
||||
error("Can't set video mode: %s\n", SDL_GetError());
|
||||
exit(1);
|
||||
}
|
||||
#endif //HW_SCREEN_RESIZE
|
||||
int continuer = 1, choix_actuel=1;
|
||||
SDL_Surface *menu = NULL;
|
||||
SDL_Event event;
|
||||
SDL_Rect positionMenu;
|
||||
positionMenu.x = 0;
|
||||
positionMenu.y = 0;
|
||||
menu = IMG_Load("sprite/menu_nb_joueur_1.png");
|
||||
while (continuer)
|
||||
{
|
||||
SDL_WaitEvent(&event);
|
||||
switch(event.type)
|
||||
{
|
||||
case SDL_QUIT:
|
||||
continuer=0;
|
||||
break;
|
||||
case SDL_KEYDOWN:
|
||||
switch(event.key.keysym.sym)
|
||||
{
|
||||
case SDLK_ESCAPE: // Veut arr<72>ter le jeu
|
||||
continuer=0;
|
||||
break;
|
||||
case SDLK_UP:
|
||||
switch(choix_actuel){
|
||||
case 1:
|
||||
menu = IMG_Load("sprite/menu_nb_joueur_2.png");;
|
||||
choix_actuel=2;
|
||||
break;
|
||||
case 2:
|
||||
menu = IMG_Load("sprite/menu_nb_joueur_1.png");
|
||||
choix_actuel=1;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case SDLK_DOWN:
|
||||
switch(choix_actuel){
|
||||
case 1:
|
||||
menu = IMG_Load("sprite/menu_nb_joueur_2.png");;
|
||||
choix_actuel=2;
|
||||
break;
|
||||
case 2:
|
||||
menu = IMG_Load("sprite/menu_nb_joueur_1.png");
|
||||
choix_actuel=1;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case SDLK_RETURN:
|
||||
SDL_FreeSurface(menu);
|
||||
return choix_actuel;
|
||||
break;
|
||||
case SDLK_KP_ENTER:
|
||||
SDL_FreeSurface(menu);
|
||||
return choix_actuel;
|
||||
break;
|
||||
|
||||
default : break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
SDL_FillRect(screen, NULL, SDL_MapRGB(screen->format, 0, 0, 0));
|
||||
SDL_BlitSurface(menu, NULL, screen, &positionMenu);
|
||||
#ifdef HW_SCREEN_RESIZE
|
||||
SDL_FillRect(hw_screen, NULL, 0x000000);
|
||||
flip_NNOptimized_AllowOutOfScreen(screen, hw_screen,
|
||||
HW_SCREEN_WIDTH,
|
||||
MIN(screen->h*HW_SCREEN_WIDTH/screen->w, HW_SCREEN_HEIGHT));
|
||||
SDL_Flip(hw_screen);
|
||||
#else //HW_SCREEN_RESIZE
|
||||
SDL_Flip(screen);
|
||||
#endif //HW_SCREEN_RESIZE
|
||||
}
|
||||
SDL_FreeSurface(menu);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int options(SDL_Surface *screen){
|
||||
|
||||
#ifdef HW_SCREEN_RESIZE
|
||||
//if(screen != NULL) SDL_FreeSurface(screen);
|
||||
screen = SDL_CreateRGBSurface(SDL_SWSURFACE, 480,480, WINDOW_BPP, 0, 0, 0, 0);
|
||||
#else //HW_SCREEN_RESIZE
|
||||
screen = SDL_SetVideoMode(480,480, WINDOW_BPP, SDL_HWSURFACE);
|
||||
if (screen == NULL) {
|
||||
error("Can't set video mode: %s\n", SDL_GetError());
|
||||
exit(1);
|
||||
}
|
||||
#endif //HW_SCREEN_RESIZE
|
||||
int continuer = 1, choix_actuel=1;
|
||||
SDL_Surface *menu = NULL;
|
||||
SDL_Event event;
|
||||
SDL_Rect positionMenu;
|
||||
positionMenu.x = 0;
|
||||
positionMenu.y = 0;
|
||||
menu = IMG_Load("sprite/options_s_o.png");
|
||||
while (continuer)
|
||||
{
|
||||
SDL_WaitEvent(&event);
|
||||
switch(event.type)
|
||||
{
|
||||
case SDL_QUIT:
|
||||
continuer=0;
|
||||
break;
|
||||
case SDL_KEYDOWN:
|
||||
switch(event.key.keysym.sym)
|
||||
{
|
||||
case SDLK_ESCAPE: // Veut arr<72>ter le jeu
|
||||
continuer=0;
|
||||
break;
|
||||
case SDLK_LEFT:
|
||||
switch(choix_actuel){
|
||||
case 1:
|
||||
menu = IMG_Load("sprite/options_s_n.png");;
|
||||
choix_actuel=2;
|
||||
break;
|
||||
case 2:
|
||||
menu = IMG_Load("sprite/options_s_o.png");
|
||||
choix_actuel=1;
|
||||
break;
|
||||
case 3:
|
||||
menu = IMG_Load("sprite/options_b_n.png");
|
||||
choix_actuel=4;
|
||||
break;
|
||||
case 4:
|
||||
menu = IMG_Load("sprite/options_b_o.png");
|
||||
choix_actuel=3;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case SDLK_RIGHT:
|
||||
switch(choix_actuel){
|
||||
case 1:
|
||||
menu = IMG_Load("sprite/options_s_n.png");;
|
||||
choix_actuel=2;
|
||||
break;
|
||||
case 2:
|
||||
menu = IMG_Load("sprite/options_s_o.png");
|
||||
choix_actuel=1;
|
||||
break;
|
||||
case 3:
|
||||
menu = IMG_Load("sprite/options_b_n.png");
|
||||
choix_actuel=4;
|
||||
break;
|
||||
case 4:
|
||||
menu = IMG_Load("sprite/options_b_o.png");
|
||||
choix_actuel=3;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case SDLK_UP:
|
||||
switch(choix_actuel){
|
||||
case 1:
|
||||
menu = IMG_Load("sprite/options_b_o.png");;
|
||||
choix_actuel=3;
|
||||
break;
|
||||
case 2:
|
||||
menu = IMG_Load("sprite/options_b_o.png");
|
||||
choix_actuel=3;
|
||||
break;
|
||||
case 3:
|
||||
menu = IMG_Load("sprite/options_s_o.png");
|
||||
choix_actuel=1;
|
||||
break;
|
||||
case 4:
|
||||
menu = IMG_Load("sprite/options_s_o.png");
|
||||
choix_actuel=1;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case SDLK_DOWN:
|
||||
switch(choix_actuel){
|
||||
case 1:
|
||||
menu = IMG_Load("sprite/options_b_o.png");;
|
||||
choix_actuel=3;
|
||||
break;
|
||||
case 2:
|
||||
menu = IMG_Load("sprite/options_b_o.png");
|
||||
choix_actuel=3;
|
||||
break;
|
||||
case 3:
|
||||
menu = IMG_Load("sprite/options_s_o.png");
|
||||
choix_actuel=1;
|
||||
break;
|
||||
case 4:
|
||||
menu = IMG_Load("sprite/options_s_o.png");
|
||||
choix_actuel=1;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case SDLK_RETURN:
|
||||
SDL_FreeSurface(menu);
|
||||
return choix_actuel;
|
||||
break;
|
||||
case SDLK_KP_ENTER:
|
||||
SDL_FreeSurface(menu);
|
||||
return choix_actuel;
|
||||
break;
|
||||
|
||||
default : break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
SDL_FillRect(screen, NULL, SDL_MapRGB(screen->format, 0, 0, 0));
|
||||
SDL_BlitSurface(menu, NULL, screen, &positionMenu);
|
||||
#ifdef HW_SCREEN_RESIZE
|
||||
SDL_FillRect(hw_screen, NULL, 0x000000);
|
||||
flip_NNOptimized_AllowOutOfScreen(screen, hw_screen,
|
||||
HW_SCREEN_WIDTH,
|
||||
MIN(screen->h*HW_SCREEN_WIDTH/screen->w, HW_SCREEN_HEIGHT));
|
||||
SDL_Flip(hw_screen);
|
||||
#else //HW_SCREEN_RESIZE
|
||||
SDL_Flip(screen);
|
||||
#endif //HW_SCREEN_RESIZE
|
||||
}
|
||||
SDL_FreeSurface(menu);
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user