mirror of
https://github.com/FunKey-Project/Bibi.git
synced 2026-03-20 10:52:50 +01:00
688 lines
16 KiB
C
688 lines
16 KiB
C
#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;
|
||
}
|