~ubuntu-branches/ubuntu/quantal/vice/quantal

1.1.2 by Zed Pobre
Import upstream version 1.16
1
/*
2
 * uicart.c
3
 *
4
 * Written by
5
 *  Andreas Boose <viceteam@t-online.de>
6
 *
7
 * This file is part of VICE, the Versatile Commodore Emulator.
8
 * See README for copyright notice.
9
 *
10
 *  This program is free software; you can redistribute it and/or modify
11
 *  it under the terms of the GNU General Public License as published by
12
 *  the Free Software Foundation; either version 2 of the License, or
13
 *  (at your option) any later version.
14
 *
15
 *  This program is distributed in the hope that it will be useful,
16
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
17
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18
 *  GNU General Public License for more details.
19
 *
20
 *  You should have received a copy of the GNU General Public License
21
 *  along with this program; if not, write to the Free Software
22
 *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
23
 *  02111-1307  USA.
24
 *
25
 */
26
27
#include "vice.h"
28
29
#include <windows.h>
30
#include <tchar.h>
31
32
#include "cartridge.h"
1.2.2 by Laszlo Boszormenyi (GCS)
Import upstream version 2.1.dfsg
33
#include "intl.h"
1.1.2 by Zed Pobre
Import upstream version 1.16
34
#include "lib.h"
1.1.3 by Zed Pobre
Import upstream version 1.19
35
#include "res.h"
1.1.2 by Zed Pobre
Import upstream version 1.16
36
#include "system.h"
1.1.3 by Zed Pobre
Import upstream version 1.19
37
#include "translate.h"
1.1.2 by Zed Pobre
Import upstream version 1.16
38
#include "ui.h"
39
#include "uicart.h"
40
#include "uilib.h"
41
42
43
void uicart_attach(WPARAM wparam, HWND hwnd,
44
                   const uicart_params_t *cartridges)
45
{
46
    int i;
47
    TCHAR *st_name;
48
49
    i = 0;
50
51
    while ((cartridges[i].wparam != wparam) && (cartridges[i].wparam != 0))
52
        i++;
53
54
    if (cartridges[i].wparam == 0) {
1.1.3 by Zed Pobre
Import upstream version 1.19
55
        ui_error(translate_text(IDS_BAD_CARTRIDGE_CONFIG));
1.1.2 by Zed Pobre
Import upstream version 1.16
56
        return;
57
    }
58
1.1.3 by Zed Pobre
Import upstream version 1.19
59
    if ((st_name = uilib_select_file(hwnd, translate_text(cartridges[i].title),
1.1.2 by Zed Pobre
Import upstream version 1.16
60
        cartridges[i].filter, UILIB_SELECTOR_TYPE_FILE_LOAD,
61
        UILIB_SELECTOR_STYLE_CART)) != NULL) {
62
        char *name;
63
64
        name = system_wcstombs_alloc(st_name);
65
        if (cartridge_attach_image(cartridges[i].type, name) < 0)
1.1.3 by Zed Pobre
Import upstream version 1.19
66
            ui_error(translate_text(IDS_INVALID_CARTRIDGE_IMAGE));
1.1.2 by Zed Pobre
Import upstream version 1.16
67
        system_wcstombs_free(name);
68
        lib_free(st_name);
69
    }
70
}
71
72