コード例 #1
0
ファイル: uicommands.c プロジェクト: martinpiper/VICE
static void load_snapshot_trap(WORD unused_addr, void *data)
{
    ui_button_t button;
    char *filename;

    vsync_suspend_speed_eval();

    if (data) {
        log_debug(_("Quickloading file %s."), (char *)data);
        filename = (char *)data;
    } else {
        filename = ui_select_file(_("Load snapshot"), NULL, 0, 0,
                                  load_snapshot_last_dir,
                                  "*.vsf", &button, 0, NULL);
        if (button != UI_BUTTON_OK) {
            if (filename)
                lib_free(filename);
            return;
        }
    }
    if (load_snapshot_last_dir)
        lib_free(load_snapshot_last_dir);
    util_fname_split(filename, &load_snapshot_last_dir, NULL);

    if (machine_read_snapshot(filename, 0) < 0)
        ui_error(_("Cannot load snapshot file\n`%s'"), filename);
    ui_update_menus();

    if (filename != NULL)
        lib_free(filename);
}
コード例 #2
0
ファイル: uicommands.c プロジェクト: bobsummerwill/VICE
static void load_snapshot_trap(WORD unused_addr, void *data)
{
    ui_button_t button;
    char *filename;

    vsync_suspend_speed_eval();

    if (data) {
        log_debug("Quickloading file %s.", (char *)data);
        filename = (char *)data;
    } else {
        uilib_file_filter_enum_t filter[] = { UILIB_FILTER_SNAPSHOT, UILIB_FILTER_ALL };
        filename = ui_select_file(_("Load snapshot image"), NULL, 0, load_snapshot_last_dir, filter, sizeof(filter) / sizeof(*filter), &button, 0, NULL, UI_FC_LOAD);
        if (button != UI_BUTTON_OK) {
            lib_free(filename);
            return;
        }
    }
    lib_free(load_snapshot_last_dir);
    util_fname_split(filename, &load_snapshot_last_dir, NULL);

    if (machine_read_snapshot(filename, 0) < 0) {
        ui_error(_("Cannot load snapshot file\n`%s'"), filename);
    }
    ui_update_menus();

    lib_free(filename);
}
コード例 #3
0
ファイル: autostart.c プロジェクト: twinaphex/vice-next
static void load_snapshot_trap(WORD unused_addr, void *unused_data)
{
    if (autostart_program_name && machine_read_snapshot((char *)autostart_program_name, 0) < 0)
        ui_error(translate_text(IDGS_CANNOT_LOAD_SNAPSHOT_FILE));

    ui_update_menus();
}
コード例 #4
0
ファイル: event.c プロジェクト: martinpiper/VICE
static void event_record_start_trap(WORD addr, void *data)
{
    switch (event_start_mode) {
      case EVENT_START_MODE_FILE_SAVE:
        if (machine_write_snapshot(event_snapshot_path(event_start_snapshot),
                                    1, 1, 0) < 0) {
#ifdef HAS_TRANSLATION
            ui_error(translate_text(IDGS_CANT_CREATE_START_SNAP_S), 
#else
            ui_error(_("Could not create start snapshot file %s."), 
#endif
                        event_snapshot_path(event_start_snapshot));
            ui_display_recording(0);
            return;
        }
        destroy_list();
        create_list();
        record_active = 1;
        event_initial_write();
        next_timestamp_clk = maincpu_clk;
        current_timestamp = 0;
        break;
      case EVENT_START_MODE_FILE_LOAD:
        if (machine_read_snapshot(
                event_snapshot_path(event_end_snapshot), 1) < 0) {
#ifdef HAS_TRANSLATION
            ui_error(translate_text(IDGS_ERROR_READING_END_SNAP_S),
#else
            ui_error(_("Error reading end snapshot file %s."),
#endif
                        event_snapshot_path(event_end_snapshot));
            return;
        }
コード例 #5
0
ファイル: autostart.c プロジェクト: aerdnar/emu-ex-plus-alpha
static void load_snapshot_trap(WORD unused_addr, void *unused_data)
{
    if (autostart_program_name
        && machine_read_snapshot((char *)autostart_program_name, 0) < 0) {
        snapshot_display_error();
    }

    ui_update_menus();
}
コード例 #6
0
ファイル: autostart.c プロジェクト: martinpiper/VICE
static void load_snapshot_trap(WORD unused_addr, void *unused_data)
{
    if (autostart_program_name
        && machine_read_snapshot((char *)autostart_program_name, 0) < 0)
#ifdef HAS_TRANSLATION
        ui_error(translate_text(IDGS_CANNOT_LOAD_SNAPSHOT_FILE));
#else
        ui_error(_("Cannot load snapshot file."));
#endif
    ui_update_menus();
}
コード例 #7
0
ファイル: uisnapshot.c プロジェクト: OpenEmu/VICE-Core
/** \brief  CPU trap handler for the QuickLoad snapshot menu item
 *
 * \param[in]   addr    memory address (unused)
 * \param[in]   data    quickload snapshot filename
 */
static void quickload_snapshot_trap(uint16_t addr, void *data)
{
    char *filename = (char *)data;

    vsync_suspend_speed_eval();

    debug_gtk3("Quickloading file '%s'.", filename);
    if (machine_read_snapshot(filename, 0) < 0) {
        snapshot_display_error();
    }
    lib_free(filename);
}
コード例 #8
0
ファイル: uisnapshot.c プロジェクト: martinpiper/VICE
void uisnapshot_load_dialog(video_canvas_t *canvas)
{
    char *fname;

    snapshot_canvas=canvas;

    fname=BrowseFile(translate_text(IDS_LOAD_SNAPSHOT_IMAGE), "#?.vsf", snapshot_canvas);

    if (fname!=NULL && *fname!='\0')
    {
        if (machine_read_snapshot(fname, 0) < 0)
            ui_error(translate_text(IDS_CANNOT_READ_SNAPSHOT_IMG));
    }
}
コード例 #9
0
ファイル: menuSaveState.cpp プロジェクト: lubomyr/vice-2.4
 void action(const gcn::ActionEvent& actionEvent) {
     int selected_item;
     selected_item = savestatelistBox->getSelected();
     BuildBaseDir(savestate_filename);
     strcat(savestate_filename, "/");
     strcat(savestate_filename, savestateList.getElementAt(selected_item).c_str());
     vsync_suspend_speed_eval();
     if (machine_read_snapshot(savestate_filename, 0) < 0)
         showInfo("Cannot read snapshot image.");
     else {
         window_savestate->setVisible(false);
         running=false;
     }
 }
コード例 #10
0
ファイル: network.c プロジェクト: martinpiper/VICE
static void network_client_connect_trap(WORD addr, void *data)
{
    BYTE *buf;
    size_t buf_size;
    BYTE recv_buf4[4];
    event_list_state_t *settings_list;

    /* Set proper settings */
    if (resources_set_event_safe() < 0)
        ui_error("Warning! Failed to set netplay-safe settings.");

    /* Receive settings that need to be same as on server */
    if (network_recv_buffer(network_socket, recv_buf4, 4) < 0)
        return;

    buf_size = (size_t)util_le_buf4_to_int(recv_buf4);
    buf = lib_malloc(buf_size);

    if (network_recv_buffer(network_socket, buf, buf_size) < 0)
        return;

    settings_list = network_create_event_list(buf);
    lib_free(buf);

    event_playback_event_list(settings_list);

    event_clear_list(settings_list);
    lib_free(settings_list);

    /* read the snapshot */
    if (machine_read_snapshot(snapshotfilename, 0) != 0) {
#ifdef HAS_TRANSLATION
        ui_error(translate_text(IDGS_CANNOT_OPEN_SNAPSHOT_FILE_S), snapshotfilename);
#else
        ui_error(_("Cannot open snapshot file %s"), snapshotfilename);
#endif
        lib_free(snapshotfilename);
        return;
    }

    current_send_frame = 0;
    last_received_frame = 0;

    network_mode = NETWORK_CLIENT;

    network_test_delay();
    lib_free(snapshotfilename);
}
コード例 #11
0
ファイル: uisnapshot.c プロジェクト: OpenEmu/VICE-Core
/** \brief  CPU trap handler for the load snapshot dialog
 *
 * \param[in]   addr    memory address (unused)
 * \param[in]   data    unused
 */
static void load_snapshot_trap(uint16_t addr, void *data)
{
    const char *filters[] = { "*.vsf", NULL };
    gchar *filename;
    gchar buffer[1024];

    vsync_suspend_speed_eval();

    filename = vice_gtk3_open_file_dialog("Open snapshot file",
            "Snapshot files", filters, NULL);
    if (filename != NULL) {
        /* load snapshot */
        if (machine_read_snapshot(filename, 0) < 0) {
            snapshot_display_error();
            g_snprintf(buffer, 1024, "Failed to load snapshot '%s'", filename);
        } else {
            g_snprintf(buffer, 1024, "Loaded snapshot '%s'", filename);
        }
        g_free(filename);
    }
}
コード例 #12
0
ファイル: dlg-fileio.c プロジェクト: bobsummerwill/VICE
static int load_snapshot(trapaction_t *act)
{
    return machine_read_snapshot(act->path, 0);
}