void menu_update(t_time t) { menu_render(); if (menu_estado==MENU_ST_MENU) { if (t<menu_pilgrim_tt) { float alfa=(menu_pilgrim_tt-t)/menu_pilgrim_tt; menu_pilgrim_x=alfa*menu_pilgrim_x0+(1-alfa)*menu_pilgrim_xf; menu_pilgrim_y=alfa*menu_pilgrim_y0+(1-alfa)*menu_pilgrim_yf; } else { menu_pilgrim_x=menu_pilgrim_xf; menu_pilgrim_y=menu_pilgrim_yf; } if (t<menu_title_tt) { float alfa=(menu_title_tt-t)/menu_title_tt; menu_title_x=alfa*menu_title_x0+(1-alfa)*menu_title_xf; menu_title_y=alfa*menu_title_y0+(1-alfa)*menu_title_yf; } else { menu_title_x=menu_title_xf; menu_title_y=menu_title_yf; } } else if (menu_estado==MENU_ST_CREDITS) { if (t<menu_credits_tt) { float alfa=(menu_credits_tt-t)/menu_credits_tt; menu_credits_x=alfa*menu_credits_x0+(1-alfa)*menu_credits_xf; menu_credits_y=alfa*menu_credits_y0+(1-alfa)*menu_credits_yf; } else { menu_credits_x=menu_credits_xf; menu_credits_y=menu_credits_yf; } } else if (menu_estado==MENU_ST_HOF) { if (t<menu_hof_tt) { float alfa=(menu_hof_tt-t)/menu_hof_tt; menu_hof_x=alfa*menu_hof_x0+(1-alfa)*menu_hof_xf; menu_hof_y=alfa*menu_hof_y0+(1-alfa)*menu_hof_yf; } else { menu_hof_x=menu_hof_xf; menu_hof_y=menu_hof_yf; } } if (menu_estado==MENU_ST_MENU) { if ( game_hit_pressed ) { if (persistence_total_played_games<MAX_GAMES_AUTO_SHOW_HELP) { menu_help(1); } else { game_start(); } } else if (game_stop_pressed) { menu_help(0); } else if (game_esquivar_pressed) { menu_hof(); } else if (game_salto_pressed) { menu_credits(); } else if (game_other_pressed) { audio_switch_deactivate(); } } else if (menu_estado==MENU_ST_CREDITS || menu_estado==MENU_ST_HOF) { if ( game_other_pressed ) { if (menu_estado==MENU_ST_HOF) { audio_stop_music(); audio_start_music(AUDIO_MUSIC_MENU); } menu_init(); } if ( game_other2_pressed ) { if (menu_estado==MENU_ST_HOF) { // if (gamecenter_enter_hof_or_achievments==0) { // game_enter_gamecenter_hof=1; // gamecenter_enter_hof_or_achievments=1; // } else { // game_enter_gamecenter_achievments=1; // gamecenter_enter_hof_or_achievments=0; // } game_enter_gamecenter_hof=1; } } if (game_stop_pressed) { if (menu_estado==MENU_ST_HOF) { game_enter_gamecenter_achievments=1; } } #if PILGRIM_INCLUDE_WEBLINK if (menu_estado==MENU_ST_CREDITS && game_other2_pressed) { game_jump_to_weblink=1; } #endif } else if (menu_estado==MENU_ST_RESULTS) { if ( game_other_pressed ) { if (game_highscore_pos!=-1) { menu_enter_hof(); } else { menu_init(); } } } else if (menu_estado==MENU_ST_HELP || menu_estado==MENU_ST_HELPSTART) { if (game_other_pressed) { menu_help_page+=1; if (menu_help_page==3) { if (menu_estado==MENU_ST_HELPSTART) { game_start(); } else { menu_init(); } } } if (game_other2_pressed) { menu_help_page-=1; if (menu_help_page==-1) { menu_init(); } } } else if (menu_estado==MENU_ST_ENTERHOF) { if (game_highscore_name_entered) { game_highscore_name_entered=0; //highscore_print(); //printf("nuevo record de %s\n",game_highscore_name); highscore_insert_name_pos(game_highscore_name, game_last_score, game_highscore_pos); //highscore_print(); menu_hof(); } } }
int main(int argc, char **argv) { GRRLIB_Init(); // Initialise the attached controllers WPAD_Init(); WPAD_SetDataFormat(WPAD_CHAN_0, WPAD_FMT_BTNS_ACC_IR); // Initialise the audio subsystem AESND_Init(NULL); MODPlay_Init(&play); MODPlay_SetMOD(&play,bg_music); MODPlay_SetVolume(&play,63,63); MODPlay_Start(&play); cui_cursor cursor; cursor.tex[0]=GRRLIB_LoadTexture(player1_point_png); cursor.tex[1]=GRRLIB_LoadTexture(player1_grab_png); cursor.is_grabbing=false; cui_board board; ENGINE engine = FIRSTCHESS; if(engine == TSCP){ int i; for (i=0; i < CUI_TILE_NB; i++) { board.piece[i]=init_piece[i]; if(init_color[i] == 1){ board.color[i]=CUI_BLACK; }else if (init_color[i] == 6){ board.color[i]=CUI_EMPTY; }else if (init_color[i] == 0){ board.color[i]=CUI_WHITE; } } init_hash(); init_board(); open_book(); gen(); } cui_board_read_core(&board, engine); GRRLIB_SetBackgroundColour(0x030, 0x30, 0x42, 0xFF); board.tile_color1 = 0xAAAAAAFF; board.tile_color2 = 0x444444FF; board.piece_color1 = 0xAAAAAAFF; board.piece_color2 = 0x444444FF; cui_board_init(&board); cui_game game; game.board = &board; game.engine = engine; game.cursor = &cursor; game.is_mute = false; GRRLIB_texImg *tex_wallpaper = GRRLIB_LoadTexture(wall_jpg); game.tex_wallpaper = tex_wallpaper; voice = AESND_AllocateVoice(aesnd_callback); AESND_SetVoiceVolume(voice, 0xFF, 0xFF); AESND_SetVoiceStream(voice, true); cui_menu current_state = CUI_MENU_MAIN; while(current_state != CUI_MENU_EXIT) { switch(current_state){ case CUI_MENU_MAIN: current_state=menu_main(&game);break; case CUI_MENU_PLAY: current_state=menu_play(&game);break; case CUI_MENU_OPTION:current_state=menu_option(&game);break; case CUI_MENU_OPTION_GENERAL:current_state=menu_option_general(&game);break; case CUI_MENU_OPTION_GFX:current_state=menu_option_gfx(&game);break; case CUI_MENU_OPTION_SND:current_state=menu_option_snd(&game);break; case CUI_MENU_CREDITS:current_state=menu_credits(&game);break; case CUI_MENU_PAUSE:current_state=menu_pause(&game);break; case CUI_MENU_HOME:current_state=menu_home(&game);break; case CUI_MENU_EXIT:current_state=menu_exit(&game);break; default:break; } } GRRLIB_FreeTexture(tex_wallpaper); GRRLIB_FreeTexture(cursor.tex[0]); GRRLIB_FreeTexture(cursor.tex[1]); GRRLIB_Exit(); return 0; }