frontend: change how exit is done
[pcsx_rearmed.git] / frontend / main.h
index 139c2e7..7ce9e5d 100644 (file)
@@ -16,8 +16,8 @@
  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307 USA
  */
 
-#ifndef __LINUX_H__
-#define __LINUX_H__
+#ifndef __FRONTEND_MAIN_H__
+#define __FRONTEND_MAIN_H__
 
 #include "config.h"
 
 #define PLUGINS_DIR "/.pcsx/plugins/"
 #define PLUGINS_CFG_DIR "/.pcsx/plugins/cfg/"
 #define PCSX_DOT_DIR "/.pcsx/"
-#define BIOS_DIR "/.pcsx/bios/"
 #define STATES_DIR "/.pcsx/sstates/"
 #define CHEATS_DIR "/.pcsx/cheats/"
 #define PATCHES_DIR "/.pcsx/patches/"
+#define BIOS_DIR "/bios/"
 
 extern char cfgfile_basename[MAXPATHLEN];
 
+extern int state_slot;
+
+/* emu_core_preinit - must be the very first call
+ * emu_core_init - to be called after platform-specific setup */
+int emu_core_preinit(void);
+int emu_core_init(void);
+
+void emu_core_ask_exit(void);
+
+void emu_set_default_config(void);
+void emu_on_new_cd(int show_hud_msg);
+
 int get_state_filename(char *buf, int size, int i);
+int emu_check_state(int slot);
+int emu_save_state(int slot);
+int emu_load_state(int slot);
+
 void set_cd_image(const char *fname);
 
 extern unsigned long gpuDisp;
-extern int ready_to_go;
+extern int ready_to_go, g_emu_want_quit, g_emu_resetting;
+
+extern char hud_msg[64];
+extern int hud_new_msg;
+
+enum sched_action {
+       SACTION_NONE,
+       SACTION_ENTER_MENU,
+       SACTION_LOAD_STATE,
+       SACTION_SAVE_STATE,
+       SACTION_NEXT_SSLOT,
+       SACTION_PREV_SSLOT,
+       SACTION_TOGGLE_FSKIP,
+       SACTION_SWITCH_DISPMODE,
+       SACTION_FAST_FORWARD,
+       SACTION_SCREENSHOT,
+       SACTION_VOLUME_UP,      // 10
+       SACTION_VOLUME_DOWN,
+       SACTION_MINIMIZE,
+       SACTION_TOGGLE_FPS,
+       SACTION_TOGGLE_FULLSCREEN,
+       SACTION_GUN_TRIGGER = 16,
+       SACTION_GUN_A,
+       SACTION_GUN_B,
+       SACTION_GUN_TRIGGER2,
+};
+
+#define SACTION_GUN_MASK (0x0f << SACTION_GUN_TRIGGER)
+
+static inline void emu_set_action(enum sched_action action_)
+{
+       extern enum sched_action emu_action, emu_action_old;
+       extern int stop;
+
+       if (action_ == SACTION_NONE)
+               emu_action_old = 0;
+       else if (action_ != emu_action_old)
+               stop = 1;
+       emu_action = action_;
+}
 
-#endif /* __LINUX_H__ */
+#endif /* __FRONTEND_MAIN_H__ */