notaz.gp2x.de
/
pcsx_rearmed.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
frontend: improve minimize handling
[pcsx_rearmed.git]
/
frontend
/
main.c
diff --git
a/frontend/main.c
b/frontend/main.c
index
15eae71
..
19e8319
100644
(file)
--- a/
frontend/main.c
+++ b/
frontend/main.c
@@
-29,6
+29,7
@@
#include "common/readpng.h"
#include "common/input.h"
#include "linux/in_evdev.h"
#include "common/readpng.h"
#include "common/input.h"
#include "linux/in_evdev.h"
+#include "revision.h"
// don't include debug.h - it breaks ARM build (R1 redefined)
void StartDebugger();
// don't include debug.h - it breaks ARM build (R1 redefined)
void StartDebugger();
@@
-129,9
+130,6
@@
static void set_default_paths(void)
strcpy(Config.Pad1, "builtin_pad");
strcpy(Config.Pad2, "builtin_pad");
strcpy(Config.Net, "Disabled");
strcpy(Config.Pad1, "builtin_pad");
strcpy(Config.Pad2, "builtin_pad");
strcpy(Config.Net, "Disabled");
-#if defined(__arm__) && !defined(__ARM_ARCH_7A__) /* XXX */
- strcpy(Config.Gpu, "gpu_unai.so");
-#endif
snprintf(Config.PatchesDir, sizeof(Config.PatchesDir), "." PATCHES_DIR);
}
snprintf(Config.PatchesDir, sizeof(Config.PatchesDir), "." PATCHES_DIR);
}
@@
-190,15
+188,11
@@
static void check_memcards(void)
void do_emu_action(void)
{
void do_emu_action(void)
{
- char buf[MAXPATHLEN];
int ret;
emu_action_old = emu_action;
switch (emu_action) {
int ret;
emu_action_old = emu_action;
switch (emu_action) {
- case SACTION_ENTER_MENU:
- menu_loop();
- return;
case SACTION_LOAD_STATE:
ret = emu_load_state(state_slot);
snprintf(hud_msg, sizeof(hud_msg), ret == 0 ? "LOADED" : "FAIL!");
case SACTION_LOAD_STATE:
ret = emu_load_state(state_slot);
snprintf(hud_msg, sizeof(hud_msg), ret == 0 ? "LOADED" : "FAIL!");
@@
-207,6
+201,10
@@
void do_emu_action(void)
ret = emu_save_state(state_slot);
snprintf(hud_msg, sizeof(hud_msg), ret == 0 ? "SAVED" : "FAIL!");
break;
ret = emu_save_state(state_slot);
snprintf(hud_msg, sizeof(hud_msg), ret == 0 ? "SAVED" : "FAIL!");
break;
+#ifndef NO_FRONTEND
+ case SACTION_ENTER_MENU:
+ menu_loop();
+ return;
case SACTION_NEXT_SSLOT:
state_slot++;
if (state_slot > 9)
case SACTION_NEXT_SSLOT:
state_slot++;
if (state_slot > 9)
@@
-216,7
+214,12
@@
void do_emu_action(void)
state_slot--;
if (state_slot < 0)
state_slot = 9;
state_slot--;
if (state_slot < 0)
state_slot = 9;
- goto do_state_slot;
+do_state_slot:
+ snprintf(hud_msg, sizeof(hud_msg), "STATE SLOT %d [%s]", state_slot,
+ emu_check_state(state_slot) == 0 ? "USED" : "FREE");
+ hud_new_msg = 3;
+ printf("* %s\n", hud_msg);
+ break;
case SACTION_TOGGLE_FSKIP:
pl_rearmed_cbs.fskip_advice = 0;
pl_rearmed_cbs.frameskip++;
case SACTION_TOGGLE_FSKIP:
pl_rearmed_cbs.fskip_advice = 0;
pl_rearmed_cbs.frameskip++;
@@
-229,6
+232,7
@@
void do_emu_action(void)
break;
case SACTION_SCREENSHOT:
{
break;
case SACTION_SCREENSHOT:
{
+ char buf[MAXPATHLEN];
void *scrbuf;
int w, h, bpp;
time_t t = time(NULL);
void *scrbuf;
int w, h, bpp;
time_t t = time(NULL);
@@
-251,19
+255,23
@@
void do_emu_action(void)
plat_step_volume(emu_action == SACTION_VOLUME_UP);
return;
case SACTION_MINIMIZE:
plat_step_volume(emu_action == SACTION_VOLUME_UP);
return;
case SACTION_MINIMIZE:
+ if (GPU_close != NULL)
+ GPU_close();
+
plat_minimize();
plat_minimize();
+
+ if (GPU_open != NULL) {
+ ret = GPU_open(&gpuDisp, "PCSX", NULL);
+ if (ret)
+ fprintf(stderr, "GPU_open returned %d\n", ret);
+ }
return;
return;
+#endif
default:
return;
}
default:
return;
}
- hud_new_msg = 3;
- return;
-do_state_slot:
- snprintf(hud_msg, sizeof(hud_msg), "STATE SLOT %d [%s]", state_slot,
- emu_check_state(state_slot) == 0 ? "USED" : "FREE");
hud_new_msg = 3;
hud_new_msg = 3;
- printf("* %s\n", hud_msg);
}
static int cdidcmp(const char *id1, const char *id2)
}
static int cdidcmp(const char *id1, const char *id2)
@@
-380,7
+388,7
@@
void emu_on_new_cd(void)
hud_new_msg = 2;
}
hud_new_msg = 2;
}
-int
main(int argc, char *argv[]
)
+int
emu_core_preinit(void
)
{
// what is the name of the config file?
// it may be redefined by -cfg on the command line
{
// what is the name of the config file?
// it may be redefined by -cfg on the command line
@@
-391,16
+399,35
@@
int main(int argc, char *argv[])
memset(&Config, 0, sizeof(Config));
memset(&Config, 0, sizeof(Config));
- CheckSubDir();
set_default_paths();
emu_set_default_config();
set_default_paths();
emu_set_default_config();
- check_memcards();
strcpy(Config.Bios, "HLE");
strcpy(Config.Bios, "HLE");
-#ifdef MAEMO
- extern int maemo_main(int argc, char **argv);
- return maemo_main(argc, argv);
-#else
+ return 0;
+}
+
+int emu_core_init(void)
+{
+ CheckSubDir();
+ check_memcards();
+
+ if (EmuInit() == -1) {
+ printf("PSX emulator couldn't be initialized.\n");
+ return -1;
+ }
+
+ LoadMcds(Config.Mcd1, Config.Mcd2);
+
+ if (Config.Debug) {
+ StartDebugger();
+ }
+
+ return 0;
+}
+
+#ifndef NO_FRONTEND
+int main(int argc, char *argv[])
+{
char file[MAXPATHLEN] = "";
char path[MAXPATHLEN];
const char *cdfile = NULL;
char file[MAXPATHLEN] = "";
char path[MAXPATHLEN];
const char *cdfile = NULL;
@@
-409,6
+436,8
@@
int main(int argc, char *argv[])
int loadst = 0;
int i;
int loadst = 0;
int i;
+ emu_core_preinit();
+
// read command line options
for (i = 1; i < argc; i++) {
if (!strcmp(argv[i], "-psxout")) psxout = 1;
// read command line options
for (i = 1; i < argc; i++) {
if (!strcmp(argv[i], "-psxout")) psxout = 1;
@@
-442,17
+471,16
@@
int main(int argc, char *argv[])
else if (!strcmp(argv[i], "-h") ||
!strcmp(argv[i], "-help") ||
!strcmp(argv[i], "--help")) {
else if (!strcmp(argv[i], "-h") ||
!strcmp(argv[i], "-help") ||
!strcmp(argv[i], "--help")) {
- printf(
PACKAGE_NAME " " PACKAGE_VERSION
"\n");
+ printf(
"PCSX-ReARMed " REV
"\n");
printf("%s\n", _(
" pcsx [options] [file]\n"
"\toptions:\n"
"\t-cdfile FILE\tRuns a CD image file\n"
printf("%s\n", _(
" pcsx [options] [file]\n"
"\toptions:\n"
"\t-cdfile FILE\tRuns a CD image file\n"
- "\t-nogui\t\tDon't open the GTK GUI\n"
"\t-cfg FILE\tLoads desired configuration file (default: ~/.pcsx/pcsx.cfg)\n"
"\t-psxout\t\tEnable PSX output\n"
"\t-load STATENUM\tLoads savestate STATENUM (1-5)\n"
"\t-h -help\tDisplay this message\n"
"\t-cfg FILE\tLoads desired configuration file (default: ~/.pcsx/pcsx.cfg)\n"
"\t-psxout\t\tEnable PSX output\n"
"\t-load STATENUM\tLoads savestate STATENUM (1-5)\n"
"\t-h -help\tDisplay this message\n"
- "\tfile\t\tLoads file\n"));
+ "\tfile\t\tLoads
a PSX EXE
file\n"));
return 0;
} else {
strncpy(file, argv[i], MAXPATHLEN);
return 0;
} else {
strncpy(file, argv[i], MAXPATHLEN);
@@
-471,9
+499,6
@@
int main(int argc, char *argv[])
if (cdfile)
set_cd_image(cdfile);
if (cdfile)
set_cd_image(cdfile);
- if (SysInit() == -1)
- return 1;
-
// frontend stuff
// init input but leave probing to platform code,
// they add input drivers and may need to modify them after probe
// frontend stuff
// init input but leave probing to platform code,
// they add input drivers and may need to modify them after probe
@@
-482,6
+507,8
@@
int main(int argc, char *argv[])
plat_init();
menu_init(); // loads config
plat_init();
menu_init(); // loads config
+ emu_core_init();
+
if (psxout)
Config.PsxOut = 1;
if (psxout)
Config.PsxOut = 1;
@@
-547,33
+574,14
@@
int main(int argc, char *argv[])
do_emu_action();
}
do_emu_action();
}
- return 0;
-#endif
-}
-
-int SysInit() {
- if (EmuInit() == -1) {
- printf("PSX emulator couldn't be initialized.\n");
- return -1;
- }
-
- LoadMcds(Config.Mcd1, Config.Mcd2);
-
- if (Config.Debug) {
- StartDebugger();
- }
-
return 0;
}
return 0;
}
+#endif
void SysRunGui() {
printf("SysRunGui\n");
}
void SysRunGui() {
printf("SysRunGui\n");
}
-void StartGui() {
- printf("StartGui\n");
-}
-
static void dummy_lace()
{
}
static void dummy_lace()
{
}
@@
-610,12
+618,12
@@
void SysUpdate() {
void OnFile_Exit() {
printf("OnFile_Exit\n");
void OnFile_Exit() {
printf("OnFile_Exit\n");
-#ifndef MAEMO
- menu_finish();
-#endif
SysClose();
SysClose();
+#ifndef NO_FRONTEND
+ menu_finish();
plat_finish();
exit(0);
plat_finish();
exit(0);
+#endif
}
int get_state_filename(char *buf, int size, int i) {
}
int get_state_filename(char *buf, int size, int i) {
@@
-729,7
+737,7
@@
static int _OpenPlugins(void) {
MAKE_PATH(dotdir, "/.pcsx/plugins/", NULL);
MAKE_PATH(dotdir, "/.pcsx/plugins/", NULL);
- strcpy(info.EmuName, "PCSX
" PACKAGE_VERSION
);
+ strcpy(info.EmuName, "PCSX
"
);
strncpy(info.CdromID, CdromId, 9);
strncpy(info.CdromLabel, CdromLabel, 9);
info.psxMem = psxM;
strncpy(info.CdromID, CdromId, 9);
strncpy(info.CdromLabel, CdromLabel, 9);
info.psxMem = psxM;