mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-05 15:27:46 -04:00
various pre-release tweaks
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@729 be3aeb3a-fb24-0410-a615-afba39da0efa
This commit is contained in:
parent
dabe23b611
commit
54646a396b
4 changed files with 27 additions and 10 deletions
|
@ -25,6 +25,8 @@
|
||||||
#include <zlib/zlib.h>
|
#include <zlib/zlib.h>
|
||||||
|
|
||||||
|
|
||||||
|
#define STATUS_MSG_TIMEOUT 2000
|
||||||
|
|
||||||
void *g_screen_ptr;
|
void *g_screen_ptr;
|
||||||
|
|
||||||
#if !SCREEN_SIZE_FIXED
|
#if !SCREEN_SIZE_FIXED
|
||||||
|
@ -92,23 +94,29 @@ static void get_ext(char *file, char *ext)
|
||||||
void emu_status_msg(const char *format, ...)
|
void emu_status_msg(const char *format, ...)
|
||||||
{
|
{
|
||||||
va_list vl;
|
va_list vl;
|
||||||
|
int ret;
|
||||||
|
|
||||||
va_start(vl, format);
|
va_start(vl, format);
|
||||||
vsnprintf(noticeMsg, sizeof(noticeMsg), format, vl);
|
ret = vsnprintf(noticeMsg, sizeof(noticeMsg), format, vl);
|
||||||
va_end(vl);
|
va_end(vl);
|
||||||
|
|
||||||
|
/* be sure old text gets overwritten */
|
||||||
|
for (; ret < 28; ret++)
|
||||||
|
noticeMsg[ret] = ' ';
|
||||||
|
noticeMsg[ret] = 0;
|
||||||
|
|
||||||
notice_msg_time = plat_get_ticks_ms();
|
notice_msg_time = plat_get_ticks_ms();
|
||||||
}
|
}
|
||||||
|
|
||||||
static const char *biosfiles_us[] = { "us_scd1_9210", "us_scd2_9306", "SegaCDBIOS9303" };
|
static const char * const biosfiles_us[] = { "us_scd1_9210", "us_scd2_9306", "SegaCDBIOS9303" };
|
||||||
static const char *biosfiles_eu[] = { "eu_mcd1_9210", "eu_mcd2_9306", "eu_mcd2_9303" };
|
static const char * const biosfiles_eu[] = { "eu_mcd1_9210", "eu_mcd2_9306", "eu_mcd2_9303" };
|
||||||
static const char *biosfiles_jp[] = { "jp_mcd1_9112", "jp_mcd1_9111" };
|
static const char * const biosfiles_jp[] = { "jp_mcd1_9112", "jp_mcd1_9111" };
|
||||||
|
|
||||||
static int find_bios(int region, char **bios_file)
|
static int find_bios(int region, char **bios_file)
|
||||||
{
|
{
|
||||||
static char bios_path[1024];
|
static char bios_path[1024];
|
||||||
int i, count;
|
int i, count;
|
||||||
const char **files;
|
const char * const *files;
|
||||||
FILE *f = NULL;
|
FILE *f = NULL;
|
||||||
|
|
||||||
if (region == 4) { // US
|
if (region == 4) { // US
|
||||||
|
@ -924,7 +932,7 @@ int emu_save_load_game(int load, int sram)
|
||||||
}
|
}
|
||||||
else ret = -1;
|
else ret = -1;
|
||||||
if (!ret)
|
if (!ret)
|
||||||
emu_status_msg(load ? "GAME LOADED" : "GAME SAVED");
|
emu_status_msg(load ? "STATE LOADED" : "STATE SAVED");
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
emu_status_msg(load ? "LOAD FAILED" : "SAVE FAILED");
|
emu_status_msg(load ? "LOAD FAILED" : "SAVE FAILED");
|
||||||
|
@ -1086,7 +1094,7 @@ static void run_events_ui(unsigned int which)
|
||||||
in_set_blocking(0);
|
in_set_blocking(0);
|
||||||
}
|
}
|
||||||
if (do_it) {
|
if (do_it) {
|
||||||
plat_status_msg_busy_first((which & PEV_STATE_LOAD) ? "LOADING GAME" : "SAVING GAME");
|
plat_status_msg_busy_first((which & PEV_STATE_LOAD) ? "LOADING STATE" : "SAVING STATE");
|
||||||
PicoStateProgressCB = plat_status_msg_busy_next;
|
PicoStateProgressCB = plat_status_msg_busy_next;
|
||||||
emu_save_load_game((which & PEV_STATE_LOAD) ? 1 : 0, 0);
|
emu_save_load_game((which & PEV_STATE_LOAD) ? 1 : 0, 0);
|
||||||
PicoStateProgressCB = NULL;
|
PicoStateProgressCB = NULL;
|
||||||
|
@ -1276,7 +1284,7 @@ void emu_loop(void)
|
||||||
if (notice_msg_time != 0)
|
if (notice_msg_time != 0)
|
||||||
{
|
{
|
||||||
static int noticeMsgSum;
|
static int noticeMsgSum;
|
||||||
if (timestamp - ms_to_ticks(notice_msg_time) > ms_to_ticks(2000)) {
|
if (timestamp - ms_to_ticks(notice_msg_time) > ms_to_ticks(STATUS_MSG_TIMEOUT)) {
|
||||||
notice_msg_time = 0;
|
notice_msg_time = 0;
|
||||||
plat_status_msg_clear();
|
plat_status_msg_clear();
|
||||||
notice_msg = NULL;
|
notice_msg = NULL;
|
||||||
|
@ -1330,6 +1338,10 @@ void emu_loop(void)
|
||||||
else {
|
else {
|
||||||
pframes_done -= target_fps;
|
pframes_done -= target_fps;
|
||||||
/* don't allow it to drift during heavy slowdowns */
|
/* don't allow it to drift during heavy slowdowns */
|
||||||
|
if (pframes_done < -5) {
|
||||||
|
reset_timing = 1;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (pframes_done < -2)
|
if (pframes_done < -2)
|
||||||
pframes_done = -2;
|
pframes_done = -2;
|
||||||
}
|
}
|
||||||
|
@ -1358,7 +1370,7 @@ void emu_loop(void)
|
||||||
else if (diff > diff_lim)
|
else if (diff > diff_lim)
|
||||||
{
|
{
|
||||||
/* no time left for this frame - skip */
|
/* no time left for this frame - skip */
|
||||||
if (diff - diff_lim >= ms_to_ticks(300)) {
|
if (diff - diff_lim >= ms_to_ticks(200)) {
|
||||||
/* if too much behind, reset instead */
|
/* if too much behind, reset instead */
|
||||||
reset_timing = 1;
|
reset_timing = 1;
|
||||||
continue;
|
continue;
|
||||||
|
|
|
@ -2043,6 +2043,8 @@ void menu_plat_setup(int is_wiz)
|
||||||
|
|
||||||
if (!is_wiz) {
|
if (!is_wiz) {
|
||||||
me_enable(e_menu_gfx_options, MA_OPT_TEARING_FIX, 0);
|
me_enable(e_menu_gfx_options, MA_OPT_TEARING_FIX, 0);
|
||||||
|
i = me_id2offset(e_menu_gfx_options, MA_OPT_TEARING_FIX);
|
||||||
|
e_menu_gfx_options[i].need_to_save = 0;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2052,6 +2054,8 @@ void menu_plat_setup(int is_wiz)
|
||||||
|
|
||||||
i = me_id2offset(e_menu_gfx_options, MA_OPT_SCALING);
|
i = me_id2offset(e_menu_gfx_options, MA_OPT_SCALING);
|
||||||
e_menu_gfx_options[i].max = 1; /* only off and sw */
|
e_menu_gfx_options[i].max = 1; /* only off and sw */
|
||||||
|
i = me_id2offset(e_menu_gfx_options, MA_OPT_ARM940_SOUND);
|
||||||
|
e_menu_gfx_options[i].need_to_save = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* TODO: rename */
|
/* TODO: rename */
|
||||||
|
|
|
@ -576,7 +576,7 @@ void plat_update_volume(int has_changed, int is_up)
|
||||||
prev_frame = Pico.m.frame_count;
|
prev_frame = Pico.m.frame_count;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (need_low_volume)
|
if (!need_low_volume)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* set the right mixer func */
|
/* set the right mixer func */
|
||||||
|
|
|
@ -160,6 +160,7 @@ void plat_init(void)
|
||||||
{
|
{
|
||||||
case SOCID_MMSP2:
|
case SOCID_MMSP2:
|
||||||
mmsp2_init();
|
mmsp2_init();
|
||||||
|
menu_plat_setup(0);
|
||||||
break;
|
break;
|
||||||
case SOCID_POLLUX:
|
case SOCID_POLLUX:
|
||||||
pollux_init();
|
pollux_init();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue