static bool cfgfile_parse_uaelib_option (struct uae_prefs *p, TCHAR *option, TCHAR *value, int type)
{
+ TCHAR tmp[MAX_DPATH];
+ if (cfgfile_path(option, value, _T("statefile_save"), tmp, sizeof(tmp) / sizeof(TCHAR))) {
+ if (!savestate_state) {
+ savestate_state = STATE_SAVE;
+ fetch_statefilepath(savestate_fname, sizeof(savestate_fname) / sizeof(TCHAR));
+ _tcscat(savestate_fname, tmp);
+ if (_tcslen(savestate_fname) >= 4 && _tcsicmp(savestate_fname + _tcslen(savestate_fname) - 4, _T(".uss"))) {
+ _tcscat(savestate_fname, _T(".uss"));
+ }
+ }
+ return true;
+ }
+
return false;
}
#endif
extern void restore_expansion_finish(void);
-extern uae_u8 *restore_action_replay (uae_u8 *);
-extern uae_u8 *save_action_replay (size_t *, uae_u8 *);
-extern uae_u8 *restore_hrtmon (uae_u8 *);
-extern uae_u8 *save_hrtmon (size_t *, uae_u8 *);
-extern void restore_ar_finish (void);
-
-extern void savestate_initsave (const TCHAR *filename, int docompress, int nodialogs, bool save);
-extern int save_state (const TCHAR *filename, const TCHAR *description);
-extern void restore_state (const TCHAR *filename);
+extern uae_u8 *restore_action_replay(uae_u8 *);
+extern uae_u8 *save_action_replay(size_t *, uae_u8 *);
+extern uae_u8 *restore_hrtmon(uae_u8 *);
+extern uae_u8 *save_hrtmon(size_t *, uae_u8 *);
+extern void restore_ar_finish(void);
+
+extern void savestate_initsave(const TCHAR *filename, int docompress, int nodialogs, bool save);
+extern int save_state(const TCHAR *filename, const TCHAR *description);
+extern void restore_state(const TCHAR *filename);
extern bool savestate_restore_finish(void);
extern void savestate_restore_final(void);
-extern void savestate_memorysave (void);
+extern void savestate_memorysave(void);
+extern void custom_prepare_savestate(void);
-extern void custom_save_state (void);
-extern void custom_prepare_savestate (void);
-
-extern bool savestate_check (void);
+extern bool savestate_check(void);
#define STATE_SAVE 1
#define STATE_RESTORE 2
#define STATE_REWIND 16
#define STATE_DOREWIND 32
+#define STATE_SAVE_DESCRIPTION _T("Description!")
+
extern int savestate_state;
extern TCHAR savestate_fname[MAX_DPATH];
extern struct zfile *savestate_file;
-STATIC_INLINE bool isrestore (void)
+STATIC_INLINE bool isrestore(void)
{
return savestate_state == STATE_RESTORE || savestate_state == STATE_REWIND;
}
-extern void savestate_quick (int slot, int save);
+extern void savestate_quick(int slot, int save);
-extern void savestate_capture (int);
-extern void savestate_free (void);
-extern void savestate_init (void);
-extern void savestate_rewind (void);
-extern int savestate_dorewind (int);
-extern void savestate_listrewind (void);
-extern void statefile_save_recording (const TCHAR*);
-extern void savestate_capture_request (void);
+extern void savestate_capture(int);
+extern void savestate_free(void);
+extern void savestate_init(void);
+extern void savestate_rewind(void);
+extern int savestate_dorewind(int);
+extern void savestate_listrewind(void);
+extern void statefile_save_recording(const TCHAR*);
+extern void savestate_capture_request(void);
#endif /* UAE_SAVESTATE_H */