コード例 #1
0
ファイル: uiperipheral.c プロジェクト: r-type/vice-libretro
static void printer_kill_active(HWND hwnd)
{
    TCHAR st[MAX_PATH];

    GetDlgItemText(hwnd, IDC_PRINTER_OUTPUT_FILE1_NAME, st, MAX_PATH);
    system_wcstombs(printertextdevice[0], st, MAX_PATH);
    GetDlgItemText(hwnd, IDC_PRINTER_OUTPUT_FILE2_NAME, st, MAX_PATH);
    system_wcstombs(printertextdevice[1], st, MAX_PATH);
    GetDlgItemText(hwnd, IDC_PRINTER_OUTPUT_FILE3_NAME, st, MAX_PATH);
    system_wcstombs(printertextdevice[2], st, MAX_PATH);
}
コード例 #2
0
ファイル: uiperipheral.c プロジェクト: r-type/vice-libretro
static BOOL store_dialog_results(HWND hwnd, unsigned int num)
{
    char s[MAX_PATH];
    TCHAR st[MAX_PATH];
    int devtype = ATTACH_DEVICE_NONE;

    if (iec_available_busses() & IEC_BUS_IEC) {
        resources_set_int_sprintf("IECDevice%d", (IsDlgButtonChecked(hwnd, IDC_TOGGLE_USEIECDEVICE) == BST_CHECKED), num);
    }

    if (IsDlgButtonChecked(hwnd, IDC_SELECTDISK) == BST_CHECKED || IsDlgButtonChecked(hwnd, IDC_SELECTDIR) == BST_CHECKED) {
        devtype = ATTACH_DEVICE_FS;
    }
#ifdef HAVE_OPENCBM
    if (opencbmlib_is_available()) {
        if (IsDlgButtonChecked(hwnd, IDC_SELECTREAL) == BST_CHECKED) {
            devtype = ATTACH_DEVICE_REAL;
        }
    }
#endif
    resources_set_int_sprintf("FileSystemDevice%d", devtype, num);

    resources_set_int_sprintf("FSDevice%dConvertP00", (IsDlgButtonChecked(hwnd, IDC_TOGGLE_READP00) == BST_CHECKED), num);
    resources_set_int_sprintf("FSDevice%dSaveP00", (IsDlgButtonChecked(hwnd, IDC_TOGGLE_WRITEP00) == BST_CHECKED), num);
    resources_set_int_sprintf("FSDevice%dHideCBMFiles", (IsDlgButtonChecked(hwnd, IDC_TOGGLE_HIDENONP00) == BST_CHECKED), num);
    resources_set_int_sprintf("AttachDevice%dReadonly", (IsDlgButtonChecked(hwnd, IDC_TOGGLE_ATTACH_READONLY) == BST_CHECKED), num);

    GetDlgItemText(hwnd, IDC_DIR, st, MAX_PATH);
    system_wcstombs(s, st, MAX_PATH);
    resources_set_string_sprintf("FSDevice%dDir", s, num);

    if (IsDlgButtonChecked(hwnd, IDC_SELECTDISK) == BST_CHECKED) {
        GetDlgItemText(hwnd, IDC_DISKIMAGE, st, MAX_PATH);
        system_wcstombs(s, st, MAX_PATH);
        if (file_system_attach_disk(num, s) < 0 ) {
            ui_error(translate_text(IDS_CANNOT_ATTACH_FILE));
            return 0;
        }
    } else {
        if ((IsDlgButtonChecked(hwnd, IDC_SELECTDIR) == BST_CHECKED) && file_system_get_disk_name(num)) {
            file_system_detach_disk(num);
        }
    }

    return 1;
}
コード例 #3
0
ファイル: uimmc64.c プロジェクト: AreaScout/vice
static void end_mmc64_dialog(HWND hwnd)
{
    TCHAR st[MAX_PATH];
    char s[MAX_PATH];

    GetDlgItemText(hwnd, IDC_MMC64_BIOS_FILE, st, MAX_PATH);
    system_wcstombs(s, st, MAX_PATH);
    resources_set_string("MMC64BIOSfilename", s);

    GetDlgItemText(hwnd, IDC_MMC64_IMAGE_FILE, st, MAX_PATH);
    system_wcstombs(s, st, MAX_PATH);
    resources_set_string("MMC64imagefilename", s);
    resources_set_int("MMC64", (IsDlgButtonChecked(hwnd, IDC_MMC64_ENABLE) == BST_CHECKED ? 1 : 0 ));
    resources_set_int("MMC64_flashjumper", (IsDlgButtonChecked(hwnd, IDC_MMC64_FLASHJUMPER) == BST_CHECKED ? 1 : 0 ));
    resources_set_int("MMC64_bios_write", (IsDlgButtonChecked(hwnd, IDC_MMC64_BIOS_SAVE) == BST_CHECKED ? 1 : 0 ));
    resources_set_int("MMC64_RO", (IsDlgButtonChecked(hwnd, IDC_MMC64_IMAGE_RO) == BST_CHECKED ? 1 : 0 ));
    resources_set_int("MMC64_revision",(int)SendMessage(GetDlgItem(hwnd, IDC_MMC64_REVISION), CB_GETCURSEL, 0, 0));
    resources_set_int("MMC64_sd_type", (int)SendMessage(GetDlgItem(hwnd, IDC_MMC64_SDTYPE), CB_GETCURSEL, 0, 0));
}
コード例 #4
0
ファイル: uirom.c プロジェクト: BigBoss21X/vice-emu
static void save_file_romset_dialog(HWND hwnd)
{
    TCHAR st[MAX_PATH];
    char s[MAX_PATH];

    GetDlgItemText(hwnd, IDC_ROMSET_FILE_NAME, st, MAX_PATH);
    system_wcstombs(s, st, MAX_PATH);
    if (machine_romset_file_save(s) < 0) {
        ui_error(translate_text(IDS_CANNOT_SAVE_ROMSET_FILE));
    }
}
コード例 #5
0
ファイル: uiv364speech.c プロジェクト: AreaScout/vice
static void end_v364speech_dialog(HWND hwnd)
{
    TCHAR st[MAX_PATH];
    char s[MAX_PATH];

    resources_set_int("SpeechEnabled", (IsDlgButtonChecked(hwnd, IDC_V364SPEECH_ENABLE) == BST_CHECKED ? 1 : 0 ));

    GetDlgItemText(hwnd, IDC_V364SPEECH_FILE, st, MAX_PATH);
    system_wcstombs(s, st, MAX_PATH);
    resources_set_string("SpeechImage", s);
}
コード例 #6
0
ファイル: uic128.c プロジェクト: martinpiper/VICE
static void end_functionrom_dialog(HWND hwnd)
{
    char name[MAX_PATH];
    TCHAR st_name[MAX_PATH];

    resources_set_int("InternalFunctionROM", (IsDlgButtonChecked(hwnd,
                      IDC_C128_FUNCTIONROM_INTERNAL) == BST_CHECKED ? 1 : 0 ));
    GetDlgItemText(hwnd, IDC_C128_FUNCTIONROM_INTERNAL_NAME,
                   st_name, MAX_PATH);
    system_wcstombs(name, st_name, MAX_PATH);
    resources_set_string("InternalFunctionName", name);

    resources_set_int("ExternalFunctionROM", (IsDlgButtonChecked(hwnd,
                        IDC_C128_FUNCTIONROM_EXTERNAL)
                        == BST_CHECKED ? 1 : 0 ));
    GetDlgItemText(hwnd, IDC_C128_FUNCTIONROM_EXTERNAL_NAME,
                   st_name, MAX_PATH);
    system_wcstombs(name, st_name, MAX_PATH);
    resources_set_string("ExternalFunctionName", name);
}
コード例 #7
0
ファイル: uirom.c プロジェクト: BigBoss21X/vice-emu
static void end_romset_dialog(HWND hwnd)
{
    TCHAR st[MAX_PATH];
    char s[MAX_PATH];

    if (IsDlgButtonChecked(hwnd, IDC_ROMSET_SELECT_ARCHIVE) == BST_CHECKED) {
        resources_set_int("RomsetSourceFile", 0);
    }
    if (IsDlgButtonChecked(hwnd, IDC_ROMSET_SELECT_FILE) == BST_CHECKED) {
        resources_set_int("RomsetSourceFile", 1);
    }

    GetDlgItemText(hwnd, IDC_ROMSET_ARCHIVE_NAME, st, MAX_PATH);
    system_wcstombs(s, st, MAX_PATH);
    resources_set_string("RomsetArchiveName", s);

    GetDlgItemText(hwnd, IDC_ROMSET_FILE_NAME, st, MAX_PATH);
    system_wcstombs(s, st, MAX_PATH);
    resources_set_string("RomsetFileName", s);
}
コード例 #8
0
ファイル: uimagicvoice.c プロジェクト: BigBoss21X/vice-emu
static void end_magicvoice_dialog(HWND hwnd)
{
    TCHAR st[MAX_PATH];
    char s[MAX_PATH];

    resources_set_int("MagicVoiceCartridgeEnabled", (IsDlgButtonChecked(hwnd, IDC_MAGICVOICE_ENABLE) == BST_CHECKED ? 1 : 0 ));

    GetDlgItemText(hwnd, IDC_MAGICVOICE_FILE, st, MAX_PATH);
    system_wcstombs(s, st, MAX_PATH);
    resources_set_string("MagicVoiceImage", s);
}
コード例 #9
0
ファイル: uipetreu.c プロジェクト: AreaScout/vice
static void end_petreu_dialog(HWND hwnd)
{
    TCHAR st[MAX_PATH];
    char s[MAX_PATH];

    resources_set_int("PETREU", (IsDlgButtonChecked(hwnd, IDC_PETREU_ENABLE) == BST_CHECKED ? 1 : 0 ));
    resources_set_int("PETREUsize", ui_petreu_size[SendMessage(GetDlgItem(hwnd, IDC_PETREU_SIZE), CB_GETCURSEL, 0, 0)]);

    GetDlgItemText(hwnd, IDC_PETREU_FILE, st, MAX_PATH);
    system_wcstombs(s, st, MAX_PATH);
    resources_set_string("PETREUfilename", s);
}
コード例 #10
0
ファイル: uiplus256k.c プロジェクト: martinpiper/VICE
static void end_plus256k_dialog(HWND hwnd)
{
    TCHAR st[MAX_PATH];
    char s[MAX_PATH];

    resources_set_int("PLUS256K", (IsDlgButtonChecked(hwnd,
                      IDC_PLUS256K_ENABLE) == BST_CHECKED ? 1 : 0 ));

    GetDlgItemText(hwnd, IDC_PLUS256K_FILE, st, MAX_PATH);
    system_wcstombs(s, st, MAX_PATH);
    resources_set_string("PLUS256Kfilename", s);
}
コード例 #11
0
ファイル: uirs232.c プロジェクト: AreaScout/vice
static void end_rs232_dialog(HWND hwnd)
{
    TCHAR st[MAX_PATH];
    char s[MAX_PATH];

    GetDlgItemText(hwnd, IDC_RS232_DEVICE1, st, MAX_PATH);
    system_wcstombs(s, st, MAX_PATH);
    resources_set_string("RsDevice1", s);

    GetDlgItemText(hwnd, IDC_RS232_DEVICE2, st, MAX_PATH);
    system_wcstombs(s, st, MAX_PATH);
    resources_set_string("RsDevice2", s);

    GetDlgItemText(hwnd, IDC_RS232_DEVICE3, st, MAX_PATH);
    system_wcstombs(s, st, MAX_PATH);
    resources_set_string("RsDevice3", s);

    GetDlgItemText(hwnd, IDC_RS232_DEVICE4, st, MAX_PATH);
    system_wcstombs(s, st, MAX_PATH);
    resources_set_string("RsDevice4", s);
}
コード例 #12
0
ファイル: uic64_256k.c プロジェクト: AreaScout/vice
static void end_c64_256k_dialog(HWND hwnd)
{
    TCHAR st[MAX_PATH];
    char s[MAX_PATH];

    resources_set_int("C64_256K", (IsDlgButtonChecked(hwnd, IDC_C64_256K_ENABLE) == BST_CHECKED ? 1 : 0 ));

    resources_set_int("C64_256Kbase", ui_c64_256k_base[SendMessage(GetDlgItem(hwnd, IDC_C64_256K_BASE), CB_GETCURSEL, 0, 0)]);

    GetDlgItemText(hwnd, IDC_C64_256K_FILE, st, MAX_PATH);
    system_wcstombs(s, st, MAX_PATH);
    resources_set_string("C64_256Kfilename", s);
}
コード例 #13
0
ファイル: uirom.c プロジェクト: BigBoss21X/vice-emu
static void load_archive_romset_dialog(HWND hwnd)
{
    TCHAR st[MAX_PATH];
    char s[MAX_PATH];

    GetDlgItemText(hwnd, IDC_ROMSET_ARCHIVE_NAME, st, MAX_PATH);
    system_wcstombs(s, st, MAX_PATH);
    if (romset_archive_load(s, 0) < 0) {
        ui_error(translate_text(IDS_CANNOT_LOAD_ROMSET_ARCH));
    }

    update_romset_archive(hwnd);
}
コード例 #14
0
ファイル: archdep_win32.c プロジェクト: BigBoss21X/vice-emu
static char *system_wcstombs_alloc(const char *wcs)
{
    char *mbs;

    if (wcs == NULL) {
        return NULL;
    }

    mbs = lib_malloc((strlen(wcs) + 1) * sizeof(char));
    system_wcstombs(mbs, wcs, strlen(wcs) + 1);

    return mbs;
}
コード例 #15
0
ファイル: uiramcart.c プロジェクト: BigBoss21X/vice-emu
static void end_ramcart_dialog(HWND hwnd)
{
    TCHAR st[MAX_PATH];
    char s[MAX_PATH];

    resources_set_int("RAMCART", (IsDlgButtonChecked(hwnd, IDC_RAMCART_ENABLE) == BST_CHECKED ? 1 : 0 ));
    resources_set_int("RAMCARTImageWrite", (IsDlgButtonChecked(hwnd, IDC_RAMCART_WRITE_ENABLE) == BST_CHECKED ? 1 : 0 ));
    resources_set_int("RAMCART_RO", (IsDlgButtonChecked(hwnd, IDC_RAMCART_RO) == BST_CHECKED ? 1 : 0 ));
    resources_set_int("RAMCARTsize", ui_ramcart_size[SendMessage(GetDlgItem(hwnd, IDC_RAMCART_SIZE), CB_GETCURSEL, 0, 0)]);

    GetDlgItemText(hwnd, IDC_RAMCART_FILE, st, MAX_PATH);
    system_wcstombs(s, st, MAX_PATH);
    resources_set_string("RAMCARTfilename", s);
}
コード例 #16
0
ファイル: uikeyboard.c プロジェクト: AreaScout/vice
static void end_mapping_dialog(HWND hwnd)
{
    int i;

    for (i = 0; i < uikeyboard_mapping_num; i++) {
        TCHAR st[MAX_PATH];
        char s[MAX_PATH];

        GetDlgItemText(hwnd, mapping_entry[i].idc_filename, st, MAX_PATH);
        system_wcstombs(s, st, MAX_PATH);
        resources_set_string(mapping_entry[i].res_filename, s);
        if (IsDlgButtonChecked(hwnd, mapping_entry[i].idc_select) == BST_CHECKED) {
            resources_set_int("KeymapIndex", i);
        }
    }
}
コード例 #17
0
ファイル: uirom.c プロジェクト: BigBoss21X/vice-emu
static void set_dialog_proc(HWND hwnd, unsigned int type)
{
    unsigned int n = 0;

    while (settings[n].realname != NULL) {
        if (settings[n].type == type) {
            char filename[MAX_PATH];
            TCHAR st_filename[MAX_PATH];

            GetDlgItemText(hwnd, settings[n].idc_filename, st_filename, MAX_PATH);
            system_wcstombs(filename, st_filename, MAX_PATH);
            resources_set_string(settings[n].resname, filename);
        }
        n++;
    }
}
コード例 #18
0
ファイル: uiautostart.c プロジェクト: carriercomm/VICE-Core
static void end_autostart_dialog(HWND hwnd)
{
    TCHAR st[MAX_PATH];
    char s[MAX_PATH];

    resources_set_int("AutostartWarp", (IsDlgButtonChecked(hwnd, IDC_AUTOSTART_WARP) == BST_CHECKED ? 1 : 0 ));
    resources_set_int("AutostartRunWithColon", (IsDlgButtonChecked(hwnd, IDC_AUTOSTART_USE_COLON_WITH_RUN) == BST_CHECKED ? 1 : 0 ));
    resources_set_int("AutostartBasicLoad", (IsDlgButtonChecked(hwnd, IDC_AUTOSTART_LOAD_TO_BASIC) == BST_CHECKED ? 1 : 0 ));
    resources_set_int("AutostartDelayRandom", (IsDlgButtonChecked(hwnd, IDC_AUTOSTART_RANDOM_DELAY) == BST_CHECKED ? 1 : 0 ));
    resources_set_int("AutostartHandleTrueDriveEmulation", (IsDlgButtonChecked(hwnd, IDC_AUTOSTART_HANDLE_TRUE_DRIVE_EMULATION) == BST_CHECKED ? 1 : 0 ));
    resources_set_int("AutostartPrgMode", (int)SendMessage(GetDlgItem(hwnd, IDC_AUTOSTART_PRG_MODE), CB_GETCURSEL, 0, 0));

    GetDlgItemText(hwnd, IDC_AUTOSTART_DISK_IMAGE_FILE, st, MAX_PATH);
    system_wcstombs(s, st, MAX_PATH);
    resources_set_string("AutostartPrgDiskImage", s);
}
コード例 #19
0
ファイル: uisound.c プロジェクト: BigBoss21X/vice-emu
static void end_sound_record_dialog(HWND hwnd)
{
    TCHAR st[MAX_PATH];
    char s[MAX_PATH];
    int i;

    i = (int)SendMessage(GetDlgItem(hwnd, IDC_SOUND_RECORD_FORMAT), CB_GETCURSEL, 0, 0);

    GetDlgItemText(hwnd, IDC_SOUND_RECORD_FILE, st, MAX_PATH);
    system_wcstombs(s, st, MAX_PATH);

    util_add_extension_maxpath(s, sound_format[i], MAX_PATH);

    resources_set_string("SoundRecordDeviceName", "");
    resources_set_string("SoundRecordDeviceArg", s);
    resources_set_string("SoundRecordDeviceName", sound_format[i]);
    resources_set_int("Sound", 1);
    ui_display_statustext(translate_text(IDS_SOUND_RECORDING_STARTED), 1);
}
コード例 #20
0
ファイル: uivideo.c プロジェクト: martinpiper/VICE
static BOOL CALLBACK dialog_palette_proc(HWND hwnd, UINT msg,
                                          WPARAM wparam, LPARAM lparam)
{
    int type;
    extern int querynewpalette;

    switch (msg) {
      case WM_NOTIFY:
        if (((NMHDR FAR *)lparam)->code == (UINT)PSN_APPLY) {
            querynewpalette = 1;
            if (resources_set_string(current_chip2->res_PaletteFile_name,
                palette_file2) < 0) {
                ui_error(translate_text(IDS_COULD_NOT_LOAD_PALETTE));
                SetWindowLong (hwnd, DWL_MSGRESULT, TRUE);
                return TRUE;
            }
            lib_free(palette_file2);
            palette_file2 = NULL;
            SetWindowLong (hwnd, DWL_MSGRESULT, FALSE);
            return TRUE;
        }
        return FALSE;
      case WM_INITDIALOG:
        init_palette_dialog(hwnd,
                            (Chip_Parameters*)((PROPSHEETPAGE*)lparam)->lParam);
        return TRUE;
      case WM_COMMAND:
        type = LOWORD(wparam);
        switch (type) {
          case IDC_VIDEO_CUSTOM_BROWSE:
            {
                TCHAR *st_name;

                if ((st_name = uilib_select_file(hwnd,
                    translate_text(IDS_LOAD_VICE_PALETTE_FILE),
                    UILIB_FILTER_ALL | UILIB_FILTER_PALETTE,
                    UILIB_SELECTOR_TYPE_FILE_LOAD,
                    UILIB_SELECTOR_STYLE_DEFAULT)) != NULL) {
                    char *name;

                    SetDlgItemText(hwnd, IDC_VIDEO_CUSTOM_NAME, st_name);
                    name = system_wcstombs_alloc(st_name);
                    update_palettename2(name);
                    system_wcstombs_free(name);
                    lib_free(st_name);
                }
            }
            break;
          case IDC_VIDEO_CUSTOM_NAME:
            {
                TCHAR st[100];
                char s[100];

                GetDlgItemText(hwnd, IDC_VIDEO_CUSTOM_NAME, st, 100);
                system_wcstombs(s, st, 100);
                update_palettename2(s);

                break;
            }
        }
        return TRUE;
    }
    return FALSE;
}
コード例 #21
0
ファイル: uivideo.c プロジェクト: martinpiper/VICE
static BOOL CALLBACK dialog_advanced_proc(HWND hwnd, UINT msg,
                                          WPARAM wparam, LPARAM lparam)
{
    int type, ival;
    float tf;
    TCHAR s[100];
    extern int querynewpalette;

    switch (msg) {
      case WM_NOTIFY:
        if (((NMHDR FAR *)lparam)->code == (UINT)PSN_APPLY) {
            GetDlgItemText(hwnd, IDC_VIDEO_COLORS_GAM, s, 100);
            _stscanf(s, TEXT("%f"), &tf);
            ival = (int)(tf * 1000.0 + 0.5);
            resources_set_int("ColorGamma", ival);

            resources_set_int(current_chip->res_ExternalPalette_name,
                              res_extpalette);

            GetDlgItemText(hwnd, IDC_VIDEO_ADVANCED_SHADE, s, 100);
            _stscanf(s, TEXT("%f"), &tf);
            ival = (int)(tf * 1000.0 + 0.5);
            resources_set_int("PALScanLineShade", ival);

            GetDlgItemText(hwnd, IDC_VIDEO_ADVANCED_BLUR, s, 100);
            _stscanf(s, TEXT("%f"), &tf);
            ival = (int)(tf * 1000.0 + 0.5);
            resources_set_int("PALBlur", ival);

            ival = SendMessage(GetDlgItem(hwnd, IDC_VIDEO_ADVANCED_MODE),
                               CB_GETCURSEL, 0, 0);
            resources_set_int("PALMode", ival);

            querynewpalette = 1;
            if (resources_set_string(current_chip->res_PaletteFile_name,
                palette_file) < 0) {
                ui_error(translate_text(IDS_COULD_NOT_LOAD_PALETTE));
                resources_set_int(current_chip->res_ExternalPalette_name,
                                  res_extpalette);
                SetWindowLong (hwnd, DWL_MSGRESULT, TRUE);
                return TRUE;
            }
            lib_free(palette_file);
            palette_file = NULL;
            resources_set_int(current_chip->res_ExternalPalette_name,
                              res_extpalette);
            SetWindowLong(hwnd, DWL_MSGRESULT, FALSE);
            return TRUE;
        }
        return FALSE;
      case WM_INITDIALOG:
        init_advanced_dialog(hwnd, (Chip_Parameters*)((PROPSHEETPAGE*)lparam)->lParam);
        return TRUE;
      case WM_COMMAND:
        type = LOWORD(wparam);
        switch (type) {
          case IDC_TOGGLE_VIDEO_EXTPALETTE:
            res_extpalette = !res_extpalette;
            EnableWindow(GetDlgItem(hwnd, IDC_VIDEO_CUSTOM_BROWSE),
                         res_extpalette);
            EnableWindow(GetDlgItem(hwnd, IDC_VIDEO_CUSTOM_NAME),
                         res_extpalette);
            break;
          case IDC_VIDEO_COLORS_GAM:
            break;
          case IDC_VIDEO_CUSTOM_BROWSE:
            {
                TCHAR *st_name;

                if ((st_name = uilib_select_file(hwnd,
                    translate_text(IDS_LOAD_VICE_PALETTE_FILE),
                    UILIB_FILTER_ALL | UILIB_FILTER_PALETTE,
                    UILIB_SELECTOR_TYPE_FILE_LOAD,
                    UILIB_SELECTOR_STYLE_DEFAULT)) != NULL) {
                    char *name;

                    SetDlgItemText(hwnd, IDC_VIDEO_CUSTOM_NAME, st_name);
                    name = system_wcstombs_alloc(st_name);
                    update_palettename(name);
                    system_wcstombs_free(name);
                    res_extpalette = 1;
                    CheckDlgButton(hwnd, IDC_TOGGLE_VIDEO_EXTPALETTE,
                                   BST_CHECKED);
                    lib_free(st_name);
                }
            }
            break;
          case IDC_VIDEO_CUSTOM_NAME:
            {
                TCHAR st[100];
                char s[100];

                GetDlgItemText(hwnd, IDC_VIDEO_CUSTOM_NAME, st, 100);
                system_wcstombs(s, st, 100);
                update_palettename(s);

                res_extpalette = 1;
                CheckDlgButton(hwnd, IDC_TOGGLE_VIDEO_EXTPALETTE, BST_CHECKED);

                break;
            }
        }
        return TRUE;
    }
    return FALSE;
}