int psp_main_menu_exit(void) { gp2xCtrlData c; psp_display_screen_menu(); psp_sdl_back2_print( 90, 110, "press B to confirm !", PSP_MENU_WARNING_COLOR); psp_sdl_flip(); psp_kbd_wait_no_button(); do { gp2xCtrlReadBufferPositive(&c, 1); c.Buttons &= PSP_ALL_BUTTON_MASK; if (c.Buttons & GP2X_CTRL_CROSS) { psp_sdl_clear_screen(0); psp_sdl_flip(); psp_sdl_clear_screen(0); psp_sdl_flip(); psp_sdl_exit(0); } } while (c.Buttons == 0); psp_kbd_wait_no_button(); return 0; }
//LUDO: int main_hugo (int argc, char** argv) { int error = initialisation (argc, argv); psp_sdl_clear_screen(0); psp_sdl_flip(); psp_sdl_clear_screen(0); psp_sdl_flip(); while (1) { play_game (); } }
int psp_main_menu(void) { gp2xCtrlData c; long new_pad; long old_pad; int last_time; int end_menu; atari_audio_pause(); psp_kbd_wait_no_button(); old_pad = 0; last_time = 0; end_menu = 0; while (! end_menu) { psp_display_screen_menu(); psp_sdl_flip(); while (1) { gp2xCtrlReadBufferPositive(&c, 1); c.Buttons &= PSP_ALL_BUTTON_MASK; if (c.Buttons) break; } new_pad = c.Buttons; if ((old_pad != new_pad) || ((c.TimeStamp - last_time) > PSP_MENU_MIN_TIME)) { last_time = c.TimeStamp; old_pad = new_pad; } else continue; if ((c.Buttons & GP2X_CTRL_LTRIGGER) == GP2X_CTRL_LTRIGGER) { psp_settings_menu(); old_pad = new_pad = 0; } else if ((c.Buttons & GP2X_CTRL_RTRIGGER) == GP2X_CTRL_RTRIGGER) { psp_main_menu_reset(); end_menu = 1; } else if ((new_pad == GP2X_CTRL_LEFT ) || (new_pad == GP2X_CTRL_RIGHT) || (new_pad == GP2X_CTRL_CROSS) || (new_pad == GP2X_CTRL_CIRCLE)) { int step = 0; if (new_pad & GP2X_CTRL_RIGHT) { step = 1; } else if (new_pad & GP2X_CTRL_LEFT) { step = -1; } switch (cur_menu_id ) { case MENU_LOAD_SLOT : if (step) psp_main_menu_cur_slot(step); else if (psp_main_menu_load_slot()) { end_menu = 1; } break; case MENU_SAVE_SLOT : if (step) psp_main_menu_cur_slot(step); else psp_main_menu_save_slot(); break; case MENU_DEL_SLOT : if (step) psp_main_menu_cur_slot(step); else psp_main_menu_del_slot(); break; case MENU_LOAD_ROM : if (psp_main_menu_load(FMGR_FORMAT_ROM)) { end_menu = 1; } old_pad = new_pad = 0; break; case MENU_EDITOR : psp_main_menu_editor(); old_pad = new_pad = 0; break; case MENU_CHEATS : psp_cheat_menu(); old_pad = new_pad = 0; break; case MENU_KEYBOARD : psp_keyboard_menu(); old_pad = new_pad = 0; break; case MENU_JOYSTICK : psp_joystick_menu(); old_pad = new_pad = 0; break; case MENU_SETTINGS : psp_settings_menu(); old_pad = new_pad = 0; break; case MENU_SCREENSHOT : psp_main_menu_screenshot(); end_menu = 1; break; #if !defined(GCW0_MODE) case MENU_VOLUME : psp_main_menu_volume(step); old_pad = new_pad = 0; break; #endif; case MENU_RESET : psp_main_menu_reset(); end_menu = 1; break; case MENU_BACK : end_menu = 1; break; case MENU_EXIT : psp_main_menu_exit(); break; case MENU_HELP : psp_help_menu(); old_pad = new_pad = 0; break; } } else if(new_pad & GP2X_CTRL_UP) { if (cur_menu_id > 0) cur_menu_id--; else cur_menu_id = MAX_MENU_ITEM-1; } else if(new_pad & GP2X_CTRL_DOWN) { if (cur_menu_id < (MAX_MENU_ITEM-1)) cur_menu_id++; else cur_menu_id = 0; } else if(new_pad & GP2X_CTRL_SQUARE) { /* Cancel */ end_menu = -1; } else if(new_pad & GP2X_CTRL_SELECT) { /* Back to ATARI */ end_menu = 1; } } psp_kbd_wait_no_button(); psp_sdl_clear_screen( PSP_MENU_BLACK_COLOR ); psp_sdl_flip(); psp_sdl_clear_screen( PSP_MENU_BLACK_COLOR ); psp_sdl_flip(); psp_sdl_clear_blit(0); atari_audio_resume(); return 1; }
int psp_settings_menu(void) { gp2xCtrlData c; long new_pad; long old_pad; int last_time; int end_menu; psp_kbd_wait_no_button(); old_pad = 0; last_time = 0; end_menu = 0; psp_settings_menu_init(); while (! end_menu) { psp_display_screen_settings_menu(); psp_sdl_flip(); while (1) { gp2xCtrlReadBufferPositive(&c, 1); c.Buttons &= PSP_ALL_BUTTON_MASK; if (c.Buttons) break; } new_pad = c.Buttons; if ((old_pad != new_pad) || ((c.TimeStamp - last_time) > PSP_MENU_MIN_TIME)) { last_time = c.TimeStamp; old_pad = new_pad; } else continue; if ((c.Buttons & GP2X_CTRL_RTRIGGER) == GP2X_CTRL_RTRIGGER) { psp_settings_menu_reset(); end_menu = 1; } else if ((new_pad == GP2X_CTRL_LEFT ) || (new_pad == GP2X_CTRL_RIGHT) || (new_pad == GP2X_CTRL_CROSS) || (new_pad == GP2X_CTRL_CIRCLE)) { int step = 0; if (new_pad & GP2X_CTRL_RIGHT) { step = 1; } else if (new_pad & GP2X_CTRL_LEFT) { step = -1; } switch (cur_menu_id ) { case MENU_SET_SOUND : atari_snd_enable = ! atari_snd_enable; break; case MENU_SET_SPEED_LIMIT : psp_settings_menu_limiter( step ); break; case MENU_SET_SKIP_FPS : psp_settings_menu_skip_fps( step ); break; case MENU_SET_FLICKER_MODE : psp_settings_menu_flicker( step ); break; case MENU_SET_VIEW_FPS : atari_view_fps = ! atari_view_fps; break; case MENU_SET_RENDER : psp_settings_menu_render( step ); break; #if !defined(GCW0_MODE) case MENU_SET_CLOCK : psp_settings_menu_clock( step ); break; #endif case MENU_SET_LOAD : psp_settings_menu_load(FMGR_FORMAT_SET); old_pad = new_pad = 0; break; case MENU_SET_SAVE : psp_settings_menu_save(); old_pad = new_pad = 0; break; case MENU_SET_RESET : psp_settings_menu_reset(); break; case MENU_SET_BACK : end_menu = 1; break; } } else if(new_pad & GP2X_CTRL_UP) { if (cur_menu_id > 0) cur_menu_id--; else cur_menu_id = MAX_MENU_SET_ITEM-1; } else if(new_pad & GP2X_CTRL_DOWN) { if (cur_menu_id < (MAX_MENU_SET_ITEM-1)) cur_menu_id++; else cur_menu_id = 0; } else if(new_pad & GP2X_CTRL_SQUARE) { /* Cancel */ end_menu = -1; } else if(new_pad & GP2X_CTRL_SELECT) { /* Back to ATARI */ end_menu = 1; } } if (end_menu > 0) { psp_settings_menu_validate(); } psp_kbd_wait_no_button(); psp_sdl_clear_screen( PSP_MENU_BLACK_COLOR ); psp_sdl_flip(); psp_sdl_clear_screen( PSP_MENU_BLACK_COLOR ); psp_sdl_flip(); return 1; }
int psp_joystick_menu(void) { gp2xCtrlData c; long new_pad; long old_pad; int last_time; int end_menu; psp_kbd_wait_no_button(); old_pad = 0; last_time = 0; end_menu = 0; psp_joystick_menu_init(); while (! end_menu) { psp_display_screen_joystick_menu(); psp_sdl_flip(); while (1) { gp2xCtrlPeekBufferPositive(&c, 1); c.Buttons &= PSP_ALL_BUTTON_MASK; if (c.Buttons) break; } new_pad = c.Buttons; if ((old_pad != new_pad) || ((c.TimeStamp - last_time) > PSP_MENU_MIN_TIME)) { last_time = c.TimeStamp; old_pad = new_pad; } else continue; if ((c.Buttons & GP2X_CTRL_RTRIGGER) == GP2X_CTRL_RTRIGGER) { psp_settings_menu_reset(); end_menu = 1; } else if ((new_pad == GP2X_CTRL_LEFT ) || (new_pad == GP2X_CTRL_RIGHT) || (new_pad == GP2X_CTRL_CROSS) || (new_pad == GP2X_CTRL_CIRCLE)) { int step = 0; if (new_pad & GP2X_CTRL_RIGHT) { step = 1; } else if (new_pad & GP2X_CTRL_LEFT) { step = -1; } switch (cur_menu_id ) { case MENU_JOY_ANALOG : psp_reverse_analog = ! psp_reverse_analog; break; case MENU_JOY_JOYSTICK : psp_active_joystick = ! psp_active_joystick; break; case MENU_JOY_AUTOFIRE_T : psp_joystick_menu_autofire( step ); break; case MENU_JOY_AUTOFIRE_M : atari_auto_fire_mode = ! atari_auto_fire_mode; break; case MENU_JOY_PADDLE : atari_paddle_enable = ! atari_paddle_enable; break; case MENU_JOY_PADDLE_SPEED : psp_joystick_menu_paddle_speed( step ); break; case MENU_JOY_LOAD : psp_joystick_menu_load(FMGR_FORMAT_JOY); old_pad = new_pad = 0; break; case MENU_JOY_SAVE : psp_joystick_menu_save(); old_pad = new_pad = 0; break; case MENU_JOY_RESET : psp_joystick_menu_reset(); break; case MENU_JOY_BACK : end_menu = 1; break; } } else if(new_pad & GP2X_CTRL_UP) { if (cur_menu_id > 0) cur_menu_id--; else cur_menu_id = MAX_MENU_JOY_ITEM-1; } else if(new_pad & GP2X_CTRL_DOWN) { if (cur_menu_id < (MAX_MENU_JOY_ITEM-1)) cur_menu_id++; else cur_menu_id = 0; } else if(new_pad & GP2X_CTRL_SQUARE) { /* Cancel */ end_menu = -1; } else if(new_pad & GP2X_CTRL_SELECT) { /* Back to ATARI */ end_menu = 1; } } if (end_menu > 0) { psp_joystick_menu_validate(); } psp_kbd_wait_no_button(); psp_sdl_clear_screen( PSP_MENU_BLACK_COLOR ); psp_sdl_flip(); psp_sdl_clear_screen( PSP_MENU_BLACK_COLOR ); psp_sdl_flip(); return 1; }
int psp_cheat_menu(void) { gp2xCtrlData c; long new_pad; long old_pad; int last_time; int end_menu; psp_kbd_wait_no_button(); old_pad = 0; last_time = 0; end_menu = 0; psp_cheat_menu_init(); while (! end_menu) { psp_display_screen_cheat_menu(); psp_sdl_flip(); while (1) { gp2xCtrlPeekBufferPositive(&c, 1); c.Buttons &= PSP_ALL_BUTTON_MASK; # ifdef USE_PSP_IRKEYB psp_irkeyb_set_psp_key(&c); # endif if (c.Buttons) break; } new_pad = c.Buttons; if ((old_pad != new_pad) || ((c.TimeStamp - last_time) > PSP_MENU_MIN_TIME)) { last_time = c.TimeStamp; old_pad = new_pad; } else continue; if ((c.Buttons & (GP2X_CTRL_LTRIGGER|GP2X_CTRL_RTRIGGER|GP2X_CTRL_START)) == (GP2X_CTRL_LTRIGGER|GP2X_CTRL_RTRIGGER|GP2X_CTRL_START)) { /* Exit ! */ psp_sdl_exit(0); } else if ((c.Buttons & GP2X_CTRL_LTRIGGER) == GP2X_CTRL_LTRIGGER) { psp_keyboard_menu(); end_menu = 1; } else if ((c.Buttons & GP2X_CTRL_RTRIGGER) == GP2X_CTRL_RTRIGGER) { psp_cheat_menu_reset_cheat(); } else if ((new_pad == GP2X_CTRL_LEFT ) || (new_pad == GP2X_CTRL_RIGHT) || (new_pad == GP2X_CTRL_CROSS) || (new_pad == GP2X_CTRL_CIRCLE)) { int step; int step2; if (new_pad & GP2X_CTRL_LEFT) step = -1; else if (new_pad & GP2X_CTRL_RIGHT) step = 1; else step = 0; if (new_pad & GP2X_CTRL_CROSS) step2 = -1; else if (new_pad & GP2X_CTRL_CIRCLE) step2 = 1; else step2 = 0; switch (cur_menu_id ) { case MENU_CHEAT_OLD_VAL : psp_cheat_menu_old_val(step); break; case MENU_CHEAT_NEW_VAL : psp_cheat_menu_new_val(step); break; case MENU_CHEAT_POKE : psp_cheat_menu_poke_val(step); break; case MENU_CHEAT_RAM : psp_cheat_menu_save_ram(); break; case MENU_CHEAT_ADD : psp_cheat_menu_add_cheat(); break; case MENU_CHEAT_ENABLE : if (step) psp_cheat_menu_cur_cheat(step); else psp_cheat_menu_enable_cheat(); break; case MENU_CHEAT_ALL : psp_cheat_menu_enable_all_cheat(); break; case MENU_CHEAT_VALUE : if (step) psp_cheat_menu_cur_cheat(step); else psp_cheat_menu_value_cheat(step2); break; case MENU_CHEAT_IMPORT : if (step) psp_cheat_menu_cur_cheat(step); else psp_cheat_menu_cheat_list(); break; case MENU_CHEAT_EDIT : psp_cheat_menu_edit_list(); break; case MENU_CHEAT_DEL : if (step) psp_cheat_menu_cur_cheat(step); else psp_cheat_menu_del_cheat(); break; case MENU_CHEAT_LOAD : psp_cheat_menu_load(FMGR_FORMAT_CHT); old_pad = new_pad = 0; break; case MENU_CHEAT_SAVE : psp_cheat_menu_save(); old_pad = new_pad = 0; break; case MENU_CHEAT_RESET : psp_cheat_menu_reset_cheat(); break; case MENU_CHEAT_BACK : end_menu = 1; break; } } else if(new_pad & GP2X_CTRL_UP) { if (cur_menu_id > 0) cur_menu_id--; else cur_menu_id = MAX_MENU_CHEAT_ITEM-1; } else if(new_pad & GP2X_CTRL_DOWN) { if (cur_menu_id < (MAX_MENU_CHEAT_ITEM-1)) cur_menu_id++; else cur_menu_id = 0; } else if(new_pad & GP2X_CTRL_SQUARE) { /* Cancel */ end_menu = -1; } else if(new_pad & GP2X_CTRL_SELECT) { /* Back to MENU */ end_menu = 1; } } psp_kbd_wait_no_button(); psp_sdl_clear_screen( PSP_MENU_BLACK_COLOR ); psp_sdl_flip(); psp_sdl_clear_screen( PSP_MENU_BLACK_COLOR ); psp_sdl_flip(); return 1; }