Index: menu.c
===================================================================
--- menu.c (revision 4398)
+++ menu.c (working copy)
@@ -743,6 +743,39 @@
fuse_emulation_unpause();
}
+MENU_CALLBACK( menu_file_movie_record_recordfromrzx )
+{
+ char *rzx_file, *fmf_file;
+
+ ui_widget_finish();
+
+ if( rzx_playback || rzx_recording || movie_recording ) return;
+
+ fuse_emulation_pause();
+
+ rzx_file = ui_get_open_filename( "Fuse - Load RZX" );
+ if( !rzx_file ) { fuse_emulation_unpause(); return; }
+
+ rzx_start_playback( rzx_file, 1 );
+ free( rzx_file );
+ display_refresh_all();
+
+ if( rzx_playback ) {
+ fmf_file = ui_get_save_filename( "Fuse - Record Movie File" );
+ if( !fmf_file ) {
+ rzx_stop_playback( 1 );
+ fuse_emulation_unpause();
+ return;
+ }
+
+ movie_start( fmf_file );
+ free( fmf_file );
+ ui_menu_activate( UI_MENU_ITEM_RECORDING, 1 );
+ }
+
+ fuse_emulation_unpause();
+}
+
MENU_CALLBACK( menu_file_recording_record )
{
char *recording;
Index: menu.h
===================================================================
--- menu.h (revision 4398)
+++ menu.h (working copy)
@@ -125,6 +125,7 @@
MENU_CALLBACK( menu_file_savescreenaspng );
MENU_CALLBACK( menu_file_movie_record );
+MENU_CALLBACK( menu_file_movie_record_recordfromrzx );
MENU_CALLBACK( menu_options_general );
MENU_CALLBACK( menu_options_sound );
Index: movie.c
===================================================================
--- movie.c (revision 4398)
+++ movie.c (working copy)
@@ -357,7 +357,7 @@
void
movie_stop( void )
{
- if( !movie_recording ) return;
+ if( !movie_paused && !movie_recording ) return;
fwrite_compr( "X", 1, 1, of ); /* End of Recording! */
#ifdef HAVE_ZLIB_H
@@ -387,6 +387,7 @@
fprintf( stderr, "Debug movie: saved %d.%d frame(.slice)\n", frame_no, slice_no );
#endif /* MOVIE_DEBUG_PRINT */
movie_recording = 0;
+ movie_paused = 0;
ui_menu_activate( UI_MENU_ITEM_FILE_MOVIE_RECORDING, 0 );
}
Index: menu_data.dat
===================================================================
--- menu_data.dat (revision 4398)
+++ menu_data.dat (working copy)
@@ -48,6 +48,7 @@
File/_Movie, Branch
File/Movie/_Record..., Item
+File/Movie/R_ecord from RZX..., Item,, menu_file_movie_record_recordfromrzx
File/Movie/_Pause, Item
File/Movie/_Continue, Item,, menu_file_movie_pause
File/Movie/_Stop, Item
Index: ui.c
===================================================================
--- ui.c (revision 4398)
+++ ui.c (working copy)
@@ -221,6 +221,7 @@
"/File/Movie/Pause", 0,
"/File/Movie/Continue", 0,
"/File/Movie/Record...", 1,
+ "/File/Movie/Record from RZX...", 1
},
{ UI_MENU_ITEM_FILE_MOVIE_PAUSE, "/File/Movie/Pause",