diff -aur -x .o -x '~' old/advancemame-0.78.1/advance/osd/emu.h new/advancemame-0.78.1/advance/osd/emu.h --- old/advancemame-0.78.1/advance/osd/emu.h 2004-01-13 17:54:51.000000000 +0100 +++ new/advancemame-0.78.1/advance/osd/emu.h 2004-01-21 03:23:58.000000000 +0100 @@ -398,6 +398,7 @@ adv_bool video_flag; /**< Main activation flag for video recording. */ adv_bool sound_flag; /**< Main activation flag for sound recording. */ unsigned video_interlace; /**< Interlace factor for the video recording. */ + adv_bool record_overwrite; /**< Flag to allow overwriting of recordings. */ }; struct advance_record_state_context { diff -aur -x .o -x '~' old/advancemame-0.78.1/advance/osd/record.c new/advancemame-0.78.1/advance/osd/record.c --- old/advancemame-0.78.1/advance/osd/record.c 2004-01-13 17:54:51.000000000 +0100 +++ new/advancemame-0.78.1/advance/osd/record.c 2004-01-21 03:25:55.000000000 +0100 @@ -902,7 +902,8 @@ snprintf(path_wav, size_wav, "%s/%.8s.wav", context->config.dir_buffer, mame_game_name(game)); snprintf(path_mng, size_mng, "%s/%.8s.mng", context->config.dir_buffer, mame_game_name(game)); - if (access(path_wav, F_OK)==0 || access(path_mng, F_OK)==0) { + if ( (! context->config.record_overwrite ) && + (access(path_wav, F_OK)==0 || access(path_mng, F_OK)==0)) { do { snprintf(path_wav, size_wav, "%s/%.4s%04d.wav", context->config.dir_buffer, mame_game_name(game), counter); snprintf(path_mng, size_mng, "%s/%.4s%04d.mng", context->config.dir_buffer, mame_game_name(game), counter); @@ -1112,6 +1113,7 @@ sncpy(context->config.dir_buffer, sizeof(context->config.dir_buffer), conf_string_get_default(cfg_context, "dir_snap")); context->config.sound_time = conf_int_get_default(cfg_context, "record_sound_time"); context->config.video_time = conf_int_get_default(cfg_context, "record_video_time"); + context->config.record_overwrite = conf_bool_get_default(cfg_context, "record_overwrite"); context->config.video_flag = conf_bool_get_default(cfg_context, "record_video"); context->config.sound_flag = conf_bool_get_default(cfg_context, "record_sound"); context->config.video_interlace = conf_int_get_default(cfg_context, "record_video_interleave"); @@ -1131,6 +1133,7 @@ { conf_int_register_limit_default(cfg_context, "record_sound_time", 1, 1000000, 15); conf_int_register_limit_default(cfg_context, "record_video_time", 1, 1000000, 15); + conf_bool_register_default(cfg_context, "record_overwrite", 0); conf_bool_register_default(cfg_context, "record_sound", 1); conf_bool_register_default(cfg_context, "record_video", 1); conf_int_register_limit_default(cfg_context, "record_video_interleave", 1, 30, 2);