* See the COPYING file in the top-level directory.
*/
-#define _GNU_SOURCE
+#define _GNU_SOURCE 1
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include "plugin_lib.h"
#include "plat.h"
#include "pcnt.h"
+#include "cspace.h"
#include "libpicofe/plat.h"
#include "libpicofe/input.h"
#include "libpicofe/linux/in_evdev.h"
#include "../libpcsxcore/cheat.h"
#include "../libpcsxcore/new_dynarec/new_dynarec.h"
#include "../plugins/dfinput/externals.h"
-#include "../plugins/gpulib/cspace.h"
#include "psemu_plugin_defs.h"
#include "revision.h"
const char *ext, *p;
char buf[256], buf2[256];
int i, d, ret, good_cue;
- struct stat statf;
+ struct stat64 statf;
FILE *f;
for (i = 1; i < count; i++) {
p = strrchr(buf2, '/');
if (p == NULL)
p = strrchr(buf2, '\\');
- if (p == NULL)
+ if (p != NULL)
+ p++;
+ else
p = buf2;
snprintf(buf, sizeof(buf), "%s/%s", basedir, p);
- ret = stat(buf, &statf);
+ ret = stat64(buf, &statf);
if (ret == 0) {
rm_namelist_entry(namelist, count, p);
good_cue = 1;
g_opts = 0;
g_scaler = SCALE_4_3;
+ g_gamma = 100;
volume_boost = 0;
frameskip = 0;
analog_deadzone = 50;
CE_CONFIG_VAL(Cpu),
CE_INTVAL(region),
CE_INTVAL_V(g_scaler, 2),
+ CE_INTVAL(g_gamma),
CE_INTVAL(g_layer_x),
CE_INTVAL(g_layer_y),
CE_INTVAL(g_layer_w),
{
static const char *defaults[] = { "/media", "/mnt/sd", "/mnt" };
char path[256];
- struct stat st;
+ struct stat64 st;
FILE *f;
int i, ret = -1;
out:
if (is_get) {
for (i = 0; last_selected_fname[0] == 0
- || stat(last_selected_fname, &st) != 0; i++)
+ || stat64(last_selected_fname, &st) != 0; i++)
{
if (i >= ARRAY_SIZE(defaults))
break;
static const char *filter_exts[] = {
"bin", "img", "mdf", "iso", "cue", "z",
- "bz", "znx", "pbp", "cbn"
+ "bz", "znx", "pbp", "cbn", NULL
};
// rrrr rggg gggb bbbb
if (ext == NULL)
return 0xffff;
ext++;
- for (i = 0; i < array_size(filter_exts); i++)
+ for (i = 0; filter_exts[i] != NULL; i++)
if (strcasecmp(ext, filter_exts[i]) == 0)
return 0x7bff;
for (i = 0; i < array_size(other_exts); i++)
if (f == NULL)
return;
- if (gzseek(f, 0x29933d, SEEK_SET) != 0x29933d) {
- fprintf(stderr, "gzseek failed\n");
+ if ((ret = (int)gzseek(f, 0x29933d, SEEK_SET)) != 0x29933d) {
+ fprintf(stderr, "gzseek failed: %d\n", ret);
gzclose(f);
return;
}
static void handle_memcard_sel(void)
{
- Config.Mcd1[0] = 0;
+ strcpy(Config.Mcd1, "none");
if (memcard1_sel != 0)
snprintf(Config.Mcd1, sizeof(Config.Mcd1), ".%s%s", MEMCARD_DIR, memcards[memcard1_sel]);
- Config.Mcd2[0] = 0;
+ strcpy(Config.Mcd2, "none");
if (memcard2_sel != 0)
snprintf(Config.Mcd2, sizeof(Config.Mcd2), ".%s%s", MEMCARD_DIR, memcards[memcard2_sel]);
LoadMcds(Config.Mcd1, Config.Mcd2);
// ------------ main menu ------------
static menu_entry e_menu_main[];
-void OnFile_Exit();
static void draw_frame_main(void)
{
static int run_exe(void)
{
+ const char *exts[] = { "exe", NULL };
const char *fname;
fname = menu_loop_romsel(last_selected_fname,
- sizeof(last_selected_fname), NULL);
+ sizeof(last_selected_fname), exts, NULL);
if (fname == NULL)
return -1;
const char *fname;
fname = menu_loop_romsel(last_selected_fname,
- sizeof(last_selected_fname), optional_cdimg_filter);
+ sizeof(last_selected_fname), filter_exts,
+ optional_cdimg_filter);
if (fname == NULL)
return -1;
static int swap_cd_image(void)
{
- char *fname;
+ const char *fname;
fname = menu_loop_romsel(last_selected_fname,
- sizeof(last_selected_fname), optional_cdimg_filter);
+ sizeof(last_selected_fname), filter_exts,
+ optional_cdimg_filter);
if (fname == NULL)
return -1;
static void load_pcsx_cht(void)
{
- char path[256];
- char *fname;
+ static const char *exts[] = { "cht", NULL };
+ const char *fname;
+ char msg[64];
- path[0] = 0;
- fname = menu_loop_romsel(path, sizeof(path), NULL);
+ fname = menu_loop_romsel(last_selected_fname,
+ sizeof(last_selected_fname), exts, NULL);
if (fname == NULL)
return;
if (NumCheats == 0 && NumCodes == 0)
menu_update_msg("failed to load cheats");
else {
- snprintf(path, sizeof(path), "%d cheat(s) loaded", NumCheats + NumCodes);
- menu_update_msg(path);
+ snprintf(msg, sizeof(msg), "%d cheat(s) loaded", NumCheats + NumCodes);
+ menu_update_msg(msg);
}
me_enable(e_menu_main, MA_MAIN_CHEATS, ready_to_go && NumCheats);
}
in_menu_wait(PBTN_MOK|PBTN_MBACK, NULL, 70);
break;
case MA_MAIN_EXIT:
- OnFile_Exit();
- break;
+ emu_core_ask_exit();
+ return 1;
default:
lprintf("%s: something unknown selected\n", __FUNCTION__);
break;
do {
me_loop_d(e_menu_main, &sel, NULL, draw_frame_main);
- } while (!ready_to_go);
+ } while (!ready_to_go && !g_emu_want_quit);
/* wait until menu, ok, back is released */
while (in_menu_wait_any(NULL, 50) & (PBTN_MENU|PBTN_MOK|PBTN_MBACK))