
#ifndef savegame_h_INCLUDED
#define savegame_h_INCLUDED

#include "types.h"

#define LAST_SAVEGAME_FILENAME_BYTE_LENGTH (MAXIMUM_SAVEGAME_NAME_LENGTH * MB_LEN_MAX + 1)

#ifndef savegame_c_INCLUDED
extern z_ucs last_savegame_filename[];
#endif /* savegame_c_INCLUDED */

void save_game(uint16_t address, uint16_t length, char *filename,
    bool skip_asking_for_filename, bool evaluate_result, char *directory);
int restore_game(uint16_t address, uint16_t length, char *filename, 
    bool skip_asking_for_filename, bool evaluate_result, char *directory);
bool detect_saved_game(char *file_to_check, char **story_file_to_load);

void opcode_save_0op(void);
void opcode_save_ext(void);
void opcode_restore_0op(void);
void opcode_restore_ext(void);

#endif /* savegame_h_INCLUDED */

