Beispiel #1
0
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();
        }
    }

    
        
}
Beispiel #2
0
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;
}