X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=gui.c;h=ccaf764ba82874ce5ef623b6e06962057f54d861;hb=8ff85457e314c627df92d4be65f3e75f540110e8;hp=8a90aac2aeba41e3fef2d7739cf5a4f586fe4030;hpb=4742480dcabcbd9d23fd8cb9a655fc8c9c314513;p=gpsp.git diff --git a/gui.c b/gui.c index 8a90aac..ccaf764 100644 --- a/gui.c +++ b/gui.c @@ -78,6 +78,34 @@ #define COLOR_FRAMESKIP_BAR color16(15, 31, 31) #define COLOR_HELP_TEXT color16(16, 40, 24) +#ifdef PSP_BUILD + #define get_clock_speed() \ + clock_speed = (clock_speed_number + 1) * 33 + #define get_clock_speed_number() \ + clock_speed_number = (clock_speed / 33) - 1 +#elif defined(WIZ_BUILD) + #define get_clock_speed() \ + clock_speed = 300 + (clock_speed_number * 3333) / 100 + #define get_clock_speed_number() \ + clock_speed_number = (clock_speed - 300) / 33 +#elif defined(GP2X_BUILD) + #define get_clock_speed() \ + clock_speed = 150 + clock_speed_number * 10 + #define get_clock_speed_number() \ + clock_speed_number = (clock_speed - 150) / 10 +#else + #define get_clock_speed() 0 + #define get_clock_speed_number() 0 +#endif + +const int +#ifdef WIZ_BUILD + default_clock_speed = 533; +#elif defined(GP2X_BUILD) + default_clock_speed = 200; +#else + default_clock_speed = 333; +#endif int sort_function(const void *dest_str_ptr, const void *src_str_ptr) { char *dest_str = *((char **)dest_str_ptr); @@ -676,7 +704,10 @@ s32 load_game_config_file() random_skip = file_options[2] % 2; clock_speed = file_options[3]; -#ifdef GP2X_BUILD +#ifdef WIZ_BUILD + if(clock_speed > 900) + clock_speed = 533; +#elif defined(GP2X_BUILD) if(clock_speed >= 300) clock_speed = 200; #else @@ -709,12 +740,11 @@ s32 load_game_config_file() current_frameskip_type = auto_frameskip; frameskip_value = 4; - random_skip = 0; -#ifdef GP2X_BUILD - clock_speed = 200; -#else - clock_speed = 333; +#ifdef WIZ_BUILD + frameskip_value = 1; #endif + random_skip = 0; + clock_speed = default_clock_speed; for(i = 0; i < 10; i++) { @@ -959,9 +989,7 @@ void get_savestate_filename_noshot(u32 slot, u8 *name_buffer) u32 menu(u16 *original_screen) { u32 clock_speed_number; -#ifdef GP2X_BUILD - static u32 clock_speed_old = 200; -#endif + static u32 clock_speed_old = default_clock_speed; u8 print_buffer[81]; u32 _current_option = 0; gui_action_type gui_action; @@ -1017,11 +1045,7 @@ u32 menu(u16 *original_screen) void menu_quit() { - #ifdef PSP_BUILD - clock_speed = (clock_speed_number + 1) * 33; - #elif defined(GP2X_BUILD) - clock_speed = 150 + clock_speed_number * 10; - #endif + get_clock_speed(); save_config_file(); quit(); } @@ -1154,9 +1178,13 @@ u32 menu(u16 *original_screen) u8 *scale_options[] = { +#ifdef WIZ_BUILD + "unscaled 3:2", "scaled 3:2 (slower)" +#else "unscaled 3:2", "scaled 3:2", "fullscreen" #ifdef PSP_BUILD " 16:9" +#endif #endif }; @@ -1181,7 +1209,15 @@ u32 menu(u16 *original_screen) u8 *update_backup_options[] = { "Exit only", "Automatic" }; -#ifdef GP2X_BUILD +#ifdef WIZ_BUILD + u8 *clock_speed_options[] = + { + "300MHz", "333MHz", "366MHz", "400MHz", "433MHz", + "466MHz", "500MHz", "533MHz", "566MHz", "600MHz", + "633MHz", "666MHz", "700MHz", "733MHz", "766MHz", + "800MHz", "833MHz", "866MHz", "900MHz" + }; +#elif defined(GP2X_BUILD) u8 *clock_speed_options[] = { "150MHz", "160MHz", "170MHz", "180MHz", "190MHz", @@ -1226,7 +1262,12 @@ u32 menu(u16 *original_screen) menu_option_type graphics_sound_options[] = { string_selection_option(NULL, "Display scaling", scale_options, - (u32 *)(&screen_scale), 3, + (u32 *)(&screen_scale), +#ifdef WIZ_BUILD + 2, +#else + 3, +#endif #ifndef GP2X_BUILD "Determines how the GBA screen is resized in relation to the entire\n" "screen. Select unscaled 3:2 for GBA resolution, scaled 3:2 for GBA\n" @@ -1244,14 +1285,14 @@ u32 menu(u16 *original_screen) #endif string_selection_option(NULL, "Frameskip type", frameskip_options, (u32 *)(¤t_frameskip_type), 3, - "Determines what kind of frameskipping to use.\n" #ifndef GP2X_BUILD + "Determines what kind of frameskipping to use.\n" "Frameskipping may improve emulation speed of many games.\n" +#endif "Off: Do not skip any frames.\n" - "Auto: Skip up to N frames (see next option) as needed.\n" + "Auto: Skip up to N frames (see next opt) as needed.\n" "Manual: Always render only 1 out of N + 1 frames." -#endif - "", 5), + , 5), numeric_selection_option(NULL, "Frameskip value", &frameskip_value, 100, #ifndef GP2X_BUILD "For auto frameskip, determines the maximum number of frames that\n" @@ -1310,11 +1351,7 @@ u32 menu(u16 *original_screen) cheat_option(9), string_selection_option(NULL, "Clock speed", clock_speed_options, &clock_speed_number, -#ifdef GP2X_BUILD - 15, -#else - 10, -#endif + sizeof(clock_speed_options) / sizeof(clock_speed_options[0]), "Change the clock speed of the device. Higher clock\n" "speed will yield better performance, but will drain\n" "battery life further.", 11), @@ -1414,9 +1451,15 @@ u32 menu(u16 *original_screen) gamepad_config_option("Y ", 7), gamepad_config_option("Left Trigger ", 8), gamepad_config_option("Right Trigger", 9), +#ifdef WIZ_BUILD + gamepad_config_option("Menu ", 10), +#else gamepad_config_option("Start ", 10), +#endif gamepad_config_option("Select ", 11), +#ifndef WIZ_BUILD gamepad_config_option("Stick Push ", 12), +#endif submenu_option(NULL, "Back", "Return to the main menu.", 14) }; @@ -1514,11 +1557,13 @@ u32 menu(u16 *original_screen) } } -#ifdef PSP_BUILD - clock_speed_number = (clock_speed / 33) - 1; -#elif defined(GP2X_BUILD) - clock_speed_number = (clock_speed - 150) / 10; -#endif + get_clock_speed_number(); + if (clock_speed_number < 0 || clock_speed_number >= + sizeof(clock_speed_options) / sizeof(clock_speed_options[0])) + { + clock_speed = default_clock_speed; + get_clock_speed_number(); + } video_resolution_large(); @@ -1669,18 +1714,17 @@ u32 menu(u16 *original_screen) set_gba_resolution(screen_scale); video_resolution_small(); + get_clock_speed(); + if (clock_speed != clock_speed_old) + { + printf("about to set CPU clock to %iMHz\n", clock_speed); #ifdef PSP_BUILD - clock_speed = (clock_speed_number + 1) * 33; scePowerSetClockFrequency(clock_speed, clock_speed, clock_speed / 2); #elif defined(GP2X_BUILD) - clock_speed = 150 + clock_speed_number * 10; - if (clock_speed != clock_speed_old) - { - printf("about to set CPU clock to %iMHz\n", clock_speed); - set_FCLK(clock_speed); - clock_speed_old = clock_speed; - } + set_FCLK(clock_speed); #endif + clock_speed_old = clock_speed; + } SDL_PauseAudio(0);