/* amount is 2 or more */ static void io_source_msg_detach_all(WORD addr, int amount, io_source_list_t *start) { io_source_detach_t *detach_list = lib_malloc(sizeof(io_source_detach_t) * amount); io_source_list_t *current = start; char *old_msg = NULL; char *new_msg = NULL; int found = 0; int i = 0; current = current->next; DBG(("IO: check %d sources for addr %04x\n", amount, addr)); while (current) { /* DBG(("IO: check '%s'\n", current->device->name)); */ if (current->device->io_source_valid && addr >= current->device->start_address && addr <= current->device->end_address && current->device->io_source_prio == 0) { /* found a conflict */ detach_list[found].det_id = current->device->detach_id; detach_list[found].det_name = current->device->resource_name; detach_list[found].det_devname = current->device->name; detach_list[found].det_cartid = current->device->cart_id; DBG(("IO: found #%d: '%s'\n", found, current->device->name)); /* first part of the message "read collision at x from" */ if (found == 0) { old_msg = lib_stralloc(translate_text(IDGS_IO_READ_COLL_AT_X_FROM)); new_msg = util_concat(old_msg, current->device->name, NULL); lib_free(old_msg); } if ((found != amount - 1) && (found != 0)) { old_msg = new_msg; new_msg = util_concat(old_msg, ", ", current->device->name, NULL); lib_free(old_msg); } if (found == amount - 1) { old_msg = new_msg; new_msg = util_concat(old_msg, translate_text(IDGS_AND), current->device->name, translate_text(IDGS_ALL_DEVICES_DETACHED), NULL); lib_free(old_msg); } found++; if (found == amount) { break; } } current = current->next; } if (found) { log_message(LOG_DEFAULT, new_msg, addr); ui_error(new_msg, addr); lib_free(new_msg); DBG(("IO: found %d items to detach\n", found)); for (i = 0; i < found; i++) { DBG(("IO: detach #%d id:%d name: %s\n",i , detach_list[i].det_cartid, detach_list[i].det_devname)); io_source_detach(&detach_list[i]); } } lib_free(detach_list); }
static void event_playback_attach_image(void *data, unsigned int size) { unsigned int unit, read_only; char *orig_filename, *filename = NULL; size_t file_len; unit = (unsigned int)((char*)data)[0]; read_only = (unsigned int)((char*)data)[1]; orig_filename = &((char*)data)[2]; file_len = size - strlen(orig_filename) - 3; if (file_len > 0) { FILE *fd; fd = archdep_mkstemp_fd(&filename, MODE_WRITE); if (fd == NULL) { #ifdef HAS_TRANSLATION ui_error(translate_text(IDGS_CANNOT_CREATE_IMAGE), filename); #else ui_error(_("Cannot create image file!")); #endif goto error; } if (fwrite((char*)data + strlen(orig_filename) + 3, file_len, 1, fd) != 1) { #ifdef HAS_TRANSLATION ui_error(translate_text(IDGS_CANNOT_WRITE_IMAGE_FILE_S), filename); #else ui_error(_("Cannot write image file %s"), filename); #endif goto error; } fclose(fd); event_image_append(orig_filename, &filename, 1); } else { if (event_image_append(orig_filename, &filename, 0) != 0) { #ifdef HAS_TRANSLATION ui_error(translate_text(IDGS_CANNOT_FIND_MAPPED_NAME_S), orig_filename); #else ui_error(_("Cannot find mapped name for %s"), orig_filename); #endif return; } } /* now filename holds the name to attach */ /* FIXME: read_only isn't handled for tape */ if (unit == 1) { tape_image_event_playback(unit, filename); } else { resources_set_int_sprintf("AttachDevice%dReadonly", read_only, unit); file_system_event_playback(unit, filename); } error: lib_free(filename); }
static APTR build_gui(void) { return GroupObject, CYCLE(ui_to_from[0].object, translate_text(IDS_VALUE_FIRST_BYTE), ui_ram_1st_byte) CYCLE(ui_to_from[1].object, translate_text(IDS_LENGTH_CONSTANT_VALUES), ui_ram_constant_val) CYCLE(ui_to_from[2].object, translate_text(IDS_LENGTH_CONSTANT_PATTERN), ui_ram_constant_pat) End; }
static APTR build_gui_fire_plus4(void) { return GroupObject, CYCLE(ui_to_from_fire[0].object, translate_text(IDS_JOY_1_FIRE), ui_joystick_fire) CYCLE(ui_to_from_fire[1].object, translate_text(IDS_JOY_2_FIRE), ui_joystick_fire) CYCLE(ui_to_from_fire[2].object, translate_text(IDS_SIDCART_JOY_FIRE), ui_joystick_fire) End; }
static APTR build_gui_fire_vic20(void) { return GroupObject, CYCLE(ui_to_from_fire[0].object, translate_text(IDS_JOY_1_FIRE), ui_joystick_fire) CYCLE(ui_to_from_fire[2].object, translate_text(IDS_USERPORT_JOY_1_FIRE), ui_joystick_fire) CYCLE(ui_to_from_fire[3].object, translate_text(IDS_USERPORT_JOY_2_FIRE), ui_joystick_fire) End; }
static void init_autostart_dialog(HWND hwnd) { HWND temp_hwnd; int res_value; const char *autostartfile; TCHAR *st_autostartfile; int xsize, ysize; int xsize2; RECT rect; uilib_localize_dialog(hwnd, autostart_dialog); uilib_get_group_extent(hwnd, autostart_leftgroup1, &xsize, &ysize); uilib_adjust_group_width(hwnd, autostart_leftgroup1); uilib_move_and_adjust_group_width(hwnd, autostart_rightgroup1, xsize + 30); uilib_get_group_extent(hwnd, autostart_leftgroup2, &xsize2, &ysize); uilib_adjust_group_width(hwnd, autostart_leftgroup2); uilib_move_group(hwnd, autostart_rightgroup2, xsize2 + 30); /* get the max x of the rightgroup3 elements */ uilib_get_group_max_x(hwnd, autostart_rightgroup3, &xsize); /* resize the text fill-in box */ uilib_move_and_set_element_width(hwnd, IDC_AUTOSTART_DISK_IMAGE_FILE, 9, xsize - 9); /* set the width of the dialog to 'surround' all the elements */ GetWindowRect(hwnd, &rect); MoveWindow(hwnd, rect.left, rect.top, xsize + 20, rect.bottom - rect.top, TRUE); /* recenter the buttons in the newly resized dialog window */ uilib_center_buttons(hwnd, move_buttons_group, 0); resources_get_int("AutostartWarp", &res_value); CheckDlgButton(hwnd, IDC_AUTOSTART_WARP, res_value ? BST_CHECKED : BST_UNCHECKED); resources_get_int("AutostartRunWithColon", &res_value); CheckDlgButton(hwnd, IDC_AUTOSTART_USE_COLON_WITH_RUN, res_value ? BST_CHECKED : BST_UNCHECKED); resources_get_int("AutostartBasicLoad", &res_value); CheckDlgButton(hwnd, IDC_AUTOSTART_LOAD_TO_BASIC, res_value ? BST_CHECKED : BST_UNCHECKED); resources_get_int("AutostartDelayRandom", &res_value); CheckDlgButton(hwnd, IDC_AUTOSTART_RANDOM_DELAY, res_value ? BST_CHECKED : BST_UNCHECKED); resources_get_int("AutostartHandleTrueDriveEmulation", &res_value); CheckDlgButton(hwnd, IDC_AUTOSTART_HANDLE_TRUE_DRIVE_EMULATION, res_value ? BST_CHECKED : BST_UNCHECKED); temp_hwnd = GetDlgItem(hwnd, IDC_AUTOSTART_PRG_MODE); SendMessage(temp_hwnd, CB_ADDSTRING, 0, (LPARAM)translate_text(IDS_AUTOSTART_VIRTUAL_FS)); SendMessage(temp_hwnd, CB_ADDSTRING, 0, (LPARAM)translate_text(IDS_AUTOSTART_INJECT)); SendMessage(temp_hwnd, CB_ADDSTRING, 0, (LPARAM)translate_text(IDS_AUTOSTART_DISK)); resources_get_int("AutostartPrgMode", &res_value); SendMessage(temp_hwnd, CB_SETCURSEL, (WPARAM)res_value, 0); resources_get_string("AutostartPrgDiskImage", &autostartfile); st_autostartfile = system_mbstowcs_alloc(autostartfile); SetDlgItemText(hwnd, IDC_AUTOSTART_DISK_IMAGE_FILE, autostartfile != NULL ? st_autostartfile : TEXT("")); system_mbstowcs_free(st_autostartfile); }
static APTR build_gui(void) { return GroupObject, CYCLE(ui_to_from[0].object, translate_text(IDS_BORDER_MODE), ui_vicii_borders) CYCLE(ui_to_from[1].object, translate_text(IDS_SPRITE_SPRITE_COL), ui_vicii_enable) CYCLE(ui_to_from[2].object, translate_text(IDS_SPRITE_BACKGROUND_COL), ui_vicii_enable) CYCLE(ui_to_from[3].object, translate_text(IDS_NEW_LUMINANCES), ui_vicii_enable) End; }
static APTR build_gui_device_plus4(void) { return GroupObject, CYCLE(ui_to_from_device_plus4[0].object, translate_text(IDS_JOY_1_DEVICE), ui_joystick_device) CYCLE(ui_to_from_device_plus4[1].object, translate_text(IDS_JOY_2_DEVICE), ui_joystick_device) CYCLE(ui_to_from_device_plus4[3].object, translate_text(IDS_SIDCART_JOY), ui_joystick_enable) CYCLE(ui_to_from_device_plus4[2].object, translate_text(IDS_SIDCART_JOY_DEVICE), ui_joystick_device) End; }
static APTR build_gui_device_pet(void) { return GroupObject, CYCLE(ui_to_from_device[4].object, translate_text(IDS_USERPORT_ADAPTER), ui_joystick_enable) CYCLE(ui_to_from_device[3].object, translate_text(IDS_USERPORT_ADAPTER_TYPE), ui_userport_joystick) CYCLE(ui_to_from_device[2].object, translate_text(IDS_USERPORT_JOY_1_DEVICE), ui_joystick_device) CYCLE(ui_to_from_device[3].object, translate_text(IDS_USERPORT_JOY_2_DEVICE), ui_joystick_device) End; }
void ui_c128_dialog(HWND hwnd) { PROPSHEETPAGE psp[2]; PROPSHEETHEADER psh; psp[0].dwSize = sizeof(PROPSHEETPAGE); psp[0].dwFlags = PSP_USETITLE /*| PSP_HASHELP*/ ; psp[0].hInstance = winmain_instance; #ifdef _ANONYMOUS_UNION psp[0].pszTemplate = MAKEINTRESOURCE(translate_res(IDD_C128_MACHINE_SETTINGS_DIALOG)); psp[0].pszIcon = NULL; #else psp[0].DUMMYUNIONNAME.pszTemplate = MAKEINTRESOURCE(translate_res(IDD_C128_MACHINE_SETTINGS_DIALOG)); psp[0].u2.pszIcon = NULL; #endif psp[0].lParam = 0; psp[0].pfnCallback = NULL; psp[1].dwSize = sizeof(PROPSHEETPAGE); psp[1].dwFlags = PSP_USETITLE /*| PSP_HASHELP*/ ; psp[1].hInstance = winmain_instance; #ifdef _ANONYMOUS_UNION psp[1].pszTemplate = MAKEINTRESOURCE(translate_res(IDD_C128_FUNCTIONROM_SETTINGS_DIALOG)); psp[1].pszIcon = NULL; #else psp[1].DUMMYUNIONNAME.pszTemplate = MAKEINTRESOURCE(translate_res(IDD_C128_FUNCTIONROM_SETTINGS_DIALOG)); psp[1].u2.pszIcon = NULL; #endif psp[1].lParam = 0; psp[1].pfnCallback = NULL; psp[0].pfnDlgProc = machine_dialog_proc; psp[0].pszTitle = translate_text(IDS_MACHINE_TYPE); psp[1].pfnDlgProc = functionrom_dialog_proc; psp[1].pszTitle = translate_text(IDS_FUNCTION_ROM); psh.dwSize = sizeof(PROPSHEETHEADER); psh.dwFlags = PSH_PROPSHEETPAGE | PSH_NOAPPLYNOW; psh.hwndParent = hwnd; psh.hInstance = winmain_instance; psh.pszCaption = translate_text(IDS_C128_SETTINGS); psh.nPages = 2; #ifdef _ANONYMOUS_UNION psh.pszIcon = NULL; psh.nStartPage = 0; psh.ppsp = psp; #else psh.DUMMYUNIONNAME.pszIcon = NULL; psh.u2.nStartPage = 0; psh.u3.ppsp = psp; #endif psh.pfnCallback = NULL; PropertySheet(&psh); }
static APTR build_gui(void) { return GroupObject, CYCLE(ui_to_from[0].object, translate_text(IDS_SID_CART), ui_sidcart_enable) CYCLE(ui_to_from[1].object, translate_text(IDS_SID_ENGINE_MODEL), ui_sidcart_engine_model) CYCLE(ui_to_from[2].object, translate_text(IDS_SID_FILTERS), ui_sidcart_enable) CYCLE(ui_to_from[3].object, translate_text(IDS_SID_ADDRESS), ui_sidcart_address) CYCLE(ui_to_from[4].object, translate_text(IDS_SID_CLOCK), ui_sidcart_clock) End; }
static APTR build_gui20(void) { return GroupObject, CYCLE(ui_to_from20[0].object, "ACIA", ui_acia_enable) CYCLE(ui_to_from20[1].object, translate_text(IDS_ACIA_DEVICE), ui_acia_device) CYCLE(ui_to_from20[2].object, translate_text(IDS_ACIA_BASE), ui_acia_vic20_base) CYCLE(ui_to_from20[3].object, translate_text(IDS_ACIA_INTERRUPT), ui_acia_interrupt) CYCLE(ui_to_from20[4].object, translate_text(IDS_ACIA_MODE), ui_acia_mode) End; }
static APTR build_gui(void) { return GroupObject, CYCLE(ui_to_from[0].object, translate_text(IDS_SAMPLE_RATE), ui_sound_freq) CYCLE(ui_to_from[1].object, translate_text(IDS_BUFFER_SIZE), ui_sound_buffer) CYCLE(ui_to_from[2].object, translate_text(IDS_OVERSAMPLE), ui_sound_oversample) CYCLE(ui_to_from[3].object, translate_text(IDS_SPEED_ADJUSTMENT), ui_sound_adjusting) STRING(ui_to_from[4].object, translate_text(IDS_VOLUME), "0123456789", 5+1) End; }
static APTR build_gui(void) { return GroupObject, CYCLE(ui_to_from[0].object, translate_text(IDS_RAM_BLOCK_0400_0FFF), ui_vic20mem_enable) CYCLE(ui_to_from[1].object, translate_text(IDS_RAM_BLOCK_2000_3FFF), ui_vic20mem_enable) CYCLE(ui_to_from[2].object, translate_text(IDS_RAM_BLOCK_4000_5FFF), ui_vic20mem_enable) CYCLE(ui_to_from[3].object, translate_text(IDS_RAM_BLOCK_6000_7FFF), ui_vic20mem_enable) CYCLE(ui_to_from[4].object, translate_text(IDS_RAM_BLOCK_A000_BFFF), ui_vic20mem_enable) End; }
static APTR build_gui(void) { static char **drive_type_strings[4] = { drive_type_strings_8, drive_type_strings_9, drive_type_strings_10, drive_type_strings_11 }; APTR window, page; ui_to_from_t *data; int num; window = RegisterObject, MUIA_Register_Titles, drive_number_strings, End; for (num = 0; num < 4; num++) { data = &ui_to_from[DECL_NUM * num]; page = GroupObject, MUIA_Group_Horiz, TRUE, Child, data[0].object = RadioObject, MUIA_Frame, MUIV_Frame_Group, MUIA_FrameTitle, translate_text(IDS_DRIVE_TYPE), MUIA_Radio_Entries, drive_type_strings[num], End, Child, GroupObject, Child, data[1].object = RadioObject, MUIA_Frame, MUIV_Frame_Group, MUIA_FrameTitle, translate_text(IDS_40_TRACK_HANDLING), MUIA_Radio_Entries, drive_extend_strings, End, Child, GroupObject, MUIA_Frame, MUIV_Frame_Group, MUIA_FrameTitle, translate_text(IDS_DRIVE_EXPANSION), CHECK(data[3].object, "$2000-$3FFF RAM") CHECK(data[4].object, "$4000-$5FFF RAM") CHECK(data[5].object, "$6000-$7FFF RAM") CHECK(data[6].object, "$8000-$9FFF RAM") CHECK(data[7].object, "$A000-$BFFF RAM") End, End, Child, GroupObject, Child, data[2].object = RadioObject, MUIA_Frame, MUIV_Frame_Group, MUIA_FrameTitle, translate_text(IDS_IDLE_METHOD), MUIA_Radio_Entries, drive_idle_strings, End, CHECK(data[8].object, translate_text(IDS_PARALLEL_CABLE)) End, End; DoMethod(window, OM_ADDMEMBER, page); } return window; }
static void cbm2_cart_attach(video_canvas_t *canvas, int cart_type) { char *fname; fname = BrowseFile(translate_text(IDS_ATTACH_CART), "#?", canvas); if (fname != NULL) { if (cartridge_attach_image(cart_type, fname) < 0) { ui_error(translate_text(IDMES_INVALID_CART_IMAGE)); } } }
static APTR build_gui_plus4(void) { static const struct Hook BT0Hook = { { NULL, NULL }, (VOID *)BT0Click, NULL, NULL }; static const struct Hook BT1Hook = { { NULL, NULL }, (VOID *)BT1Click, NULL, NULL }; APTR BT0, BT1; APTR gui = GroupObject, Child, GroupObject, MUIA_Group_Horiz, TRUE, Child, GroupObject, MUIA_Frame, MUIV_Frame_Group, MUIA_FrameTitle, translate_text(IDS_JOYSTICK_1), CYCLE(ui_to_from_plus4[0].object, "", ui_joystick) End, Child, GroupObject, MUIA_Frame, MUIV_Frame_Group, MUIA_FrameTitle, translate_text(IDS_JOYSTICK_2), CYCLE(ui_to_from_plus4[1].object, "", ui_joystick) End, End, Child, GroupObject, MUIA_Group_Horiz, TRUE, Child, GroupObject, MUIA_Frame, MUIV_Frame_Group, MUIA_FrameTitle, translate_text(IDS_SIDCART_JOY), CYCLE(ui_to_from_plus4[3].object, "", ui_joystick_enable) End, End, Child, GroupObject, MUIA_Group_Horiz, TRUE, Child, GroupObject, MUIA_Frame, MUIV_Frame_Group, MUIA_FrameTitle, translate_text(IDS_JOYSTICK_IN_SIDCART_PORT), CYCLE(ui_to_from_plus4[2].object, "", ui_joystick) End, End, Child, GroupObject, MUIA_Group_Horiz, TRUE, Child, BT0 = SimpleButton("Config AI/Keyset A"), Child, BT1 = SimpleButton("Config AI/Keyset B"), End, End; if (gui != NULL) { DoMethod(BT0, MUIM_Notify, MUIA_Pressed, FALSE, BT0, 2, MUIM_CallHook, &BT0Hook); DoMethod(BT1, MUIM_Notify, MUIA_Pressed, FALSE, BT1, 2, MUIM_CallHook, &BT1Hook); } return gui; }
void uidrivec64_settings_dialog(HWND hwnd) { PROPSHEETPAGE psp[4]; PROPSHEETHEADER psh; int i; for (i = 0; i < 4; i++) { psp[i].dwSize = sizeof(PROPSHEETPAGE); psp[i].dwFlags = PSP_USETITLE /*| PSP_HASHELP*/ ; psp[i].hInstance = winmain_instance; #ifdef _ANONYMOUS_UNION psp[i].pszTemplate = MAKEINTRESOURCE(translate_res(IDD_DRIVE_SETTINGS_DIALOG_C64)); psp[i].pszIcon = NULL; #else psp[i].DUMMYUNIONNAME.pszTemplate = MAKEINTRESOURCE(translate_res(IDD_DRIVE_SETTINGS_DIALOG_C64)); psp[i].u2.pszIcon = NULL; #endif psp[i].lParam = 0; psp[i].pfnCallback = NULL; } psp[0].pfnDlgProc = callback_8; psp[0].pszTitle = translate_text(IDS_DRIVE_8); psp[1].pfnDlgProc = callback_9; psp[1].pszTitle = translate_text(IDS_DRIVE_9); psp[2].pfnDlgProc = callback_10; psp[2].pszTitle = translate_text(IDS_DRIVE_10); psp[3].pfnDlgProc = callback_11; psp[3].pszTitle = translate_text(IDS_DRIVE_11); psh.dwSize = sizeof(PROPSHEETHEADER); psh.dwFlags = PSH_PROPSHEETPAGE | PSH_NOAPPLYNOW; psh.hwndParent = hwnd; psh.hInstance = winmain_instance; psh.pszCaption = translate_text(IDS_DRIVE_SETTINGS); psh.nPages = 4; #ifdef _ANONYMOUS_UNION psh.pszIcon = NULL; psh.nStartPage = 0; psh.ppsp = psp; #else psh.DUMMYUNIONNAME.pszIcon = NULL; psh.u2.nStartPage = 0; psh.u3.ppsp = psp; #endif psh.pfnCallback = NULL; system_psh_settings(&psh); PropertySheet(&psh); }
void ui_cbm2_settings_dialog(HWND hwnd) { PROPSHEETPAGE psp[4]; PROPSHEETHEADER psh; int i; for (i = 0; i < 2; i++) { psp[i].dwSize = sizeof(PROPSHEETPAGE); psp[i].dwFlags = PSP_USETITLE /*| PSP_HASHELP*/ ; psp[i].hInstance = winmain_instance; #ifdef _ANONYMOUS_UNION psp[i].pszIcon = NULL; #else psp[i].u2.pszIcon = NULL; #endif psp[i].lParam = 0; psp[i].pfnCallback = NULL; } psp[0].pfnDlgProc = dialog_proc; psp[0].pszTitle = translate_text(IDS_MODEL); psp[1].pfnDlgProc = memory_dialog_proc; psp[1].pszTitle = translate_text(IDS_MEMORY); #ifdef _ANONYMOUS_UNION psp[0].pszTemplate = MAKEINTRESOURCE(IDD_CBMII_SETTINGS_MODEL_DIALOG); psp[1].pszTemplate = MAKEINTRESOURCE(IDD_CBMII_SETTINGS_IO_DIALOG); #else psp[0].DUMMYUNIONNAME.pszTemplate = MAKEINTRESOURCE(IDD_CBMII_SETTINGS_MODEL_DIALOG); psp[1].DUMMYUNIONNAME.pszTemplate = MAKEINTRESOURCE(IDD_CBMII_SETTINGS_IO_DIALOG); #endif psh.dwSize = sizeof(PROPSHEETHEADER); psh.dwFlags = PSH_PROPSHEETPAGE | PSH_NOAPPLYNOW; psh.hwndParent = hwnd; psh.hInstance = winmain_instance; psh.pszCaption = translate_text(IDS_CBM2_SETTINGS); psh.nPages = 2; #ifdef _ANONYMOUS_UNION psh.pszIcon = NULL; psh.nStartPage = 0; psh.ppsp = psp; #else psh.DUMMYUNIONNAME.pszIcon = NULL; psh.u2.nStartPage = 0; psh.u3.ppsp = psp; #endif psh.pfnCallback = NULL; system_psh_settings(&psh); PropertySheet(&psh); }
/* Print an error message. */ void ui_error(const char *format,...) { va_list ap; char *tmp; va_start(ap, format); tmp = lib_mvsprintf(format,ap); va_end(ap); ui_requester(translate_text(IDMES_VICE_ERROR), tmp, translate_text(IDMES_OK), 0); lib_free(tmp); }
INT_PTR CALLBACK dialog_fullscreen_proc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) { int notifycode; int item; int index; int value; int command; TCHAR s[100]; float tf; switch (msg) { case WM_NOTIFY: if (((NMHDR FAR *)lparam)->code == (UINT)PSN_APPLY) { if (video_dx9_enabled()) { GetDlgItemText(hwnd, IDC_ASPECT_RATIO, s, 100); _stscanf(s, TEXT("%f"), &tf); aspect_ratio = (int)(tf * 1000.0 + 0.5); if (aspect_ratio < 500) { ui_error(translate_text(IDS_VAL_F_FOR_S_OUT_RANGE_USE_F), tf, translate_text(IDS_TOGGLE_KEEP_ASPECT_RATIO), 0.5f); aspect_ratio = 500; } if (aspect_ratio > 2000) { ui_error(translate_text(IDS_VAL_F_FOR_S_OUT_RANGE_USE_F), tf, translate_text(IDS_TOGGLE_KEEP_ASPECT_RATIO), 2.0f); aspect_ratio = 2000; } } fullscreen_dialog_end(); SetWindowLongPtr(hwnd, DWLP_MSGRESULT, FALSE); return TRUE; } return FALSE; case WM_COMMAND: notifycode = HIWORD(wparam); item = LOWORD(wparam); if (notifycode == CBN_SELENDOK) { if (item == IDC_FULLSCREEN_DEVICE) { fullscreen_device = (int)SendMessage(GetDlgItem(hwnd, IDC_FULLSCREEN_DEVICE), CB_GETCURSEL, 0, 0); } else if (item == IDC_FULLSCREEN_BITDEPTH) { index = (int)SendMessage(GetDlgItem(hwnd, IDC_FULLSCREEN_BITDEPTH), CB_GETCURSEL, 0, 0); fullscreen_bitdepth = GetValueFromList(bitdepthlist, index); } else if (item == IDC_FULLSCREEN_RESOLUTION) { index = (int)SendMessage(GetDlgItem(hwnd, IDC_FULLSCREEN_RESOLUTION), CB_GETCURSEL, 0, 0); value = GetValueFromList(resolutionlist, index); fullscreen_width = value >> 16; fullscreen_height = value & 0xffff; } else if (item == IDC_FULLSCREEN_REFRESHRATE) { index = (int)SendMessage(GetDlgItem(hwnd, IDC_FULLSCREEN_REFRESHRATE), CB_GETCURSEL, 0, 0); fullscreen_refreshrate = GetValueFromList(refresh_rates, index); } init_fullscreen_dialog(hwnd); } else {
static void uiattach_disk_dialog(HWND hwnd, WPARAM wparam) { TCHAR *st_name; char *resource; int unit = 8; int autostart_index = -1; SuspendFullscreenModeKeep(hwnd); switch (wparam & 0xffff) { case IDM_ATTACH_8: unit = 8; break; case IDM_ATTACH_9: unit = 9; break; case IDM_ATTACH_10: unit = 10; break; case IDM_ATTACH_11: unit = 11; break; } resource = lib_msprintf("AttachDevice%dReadonly", unit); if ((st_name = uilib_select_file_autostart(hwnd, translate_text(IDS_ATTACH_DISK_IMAGE), UILIB_FILTER_DISK | #ifdef HAVE_ZLIB UILIB_FILTER_ZIP | #endif UILIB_FILTER_ALL, UILIB_SELECTOR_TYPE_FILE_LOAD, UILIB_SELECTOR_STYLE_DISK, &autostart_index, resource)) != NULL) { char *name; name = system_wcstombs_alloc(st_name); if (autostart_index >= 0) { if (autostart_autodetect(name, NULL, autostart_index, AUTOSTART_MODE_RUN) < 0) { ui_error(translate_text(IDS_CANNOT_AUTOSTART_FILE)); } } else { if (file_system_attach_disk(unit, name) < 0) { ui_error(translate_text(IDS_CANNOT_ATTACH_FILE)); } } system_wcstombs_free(name); lib_free(st_name); } ResumeFullscreenModeKeep(hwnd); lib_free(resource); }
void ui_cmdline_show_help(unsigned int num_options, cmdline_option_ram_t *options, void *userparam) { unsigned int i; printf(translate_text(IDS_AVAILABLE_CMDLINE_OPTIONS)); for (i = 0; i < num_options; i++) { fputs(options[i].name, stdout); if (options[i].need_arg && options[i].param_name != 0) printf(" %s", translate_text(options[i].param_name)); printf("\n\t%s\n", translate_text(options[i].description)); } putchar('\n'); }
char *cmdline_options_get_description(int counter) { if (options[counter].use_description_id == USE_DESCRIPTION_ID) { return translate_text(options[counter].description_trans); } else if (options[counter].use_description_id == USE_DESCRIPTION_COMBO) { if (options[counter].combined_string) { lib_free(options[counter].combined_string); } options[counter].combined_string = util_concat(translate_text(options[counter].description_trans), options[counter].description, NULL); return options[counter].combined_string; } else { return (char *)_(options[counter].description); } }
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)); } }
static APTR build_gui(void) { APTR app, ui, ok, browse_button, cancel; #ifdef AMIGA_MORPHOS static const struct Hook BrowseFileHook = { { NULL,NULL },(VOID *)HookEntry,(VOID *)Browse, NULL}; #else static const struct Hook BrowseFileHook = { { NULL,NULL },(VOID *)Browse,NULL,NULL }; #endif app = mui_get_app(); ui = GroupObject, CHECK(save_disks_check, translate_text(IDS_SAVE_CURRENTLY_ATTACHED_DISKS)) CHECK(save_roms_check, translate_text(IDS_SAVE_CURRENTLY_ATTACHED_ROMS)) FILENAME(filename_check, translate_text(IDS_SNAPSHOT_FILE), browse_button) Child, HGroup, Child, ok = TextObject, ButtonFrame, MUIA_Background, MUII_ButtonBack, MUIA_Text_Contents, translate_text(IDS_SAVE), MUIA_Text_PreParse, "\033c", MUIA_InputMode, MUIV_InputMode_RelVerify, End, Child, cancel = TextObject, ButtonFrame, MUIA_Background, MUII_ButtonBack, MUIA_Text_Contents, translate_text(IDS_CANCEL), MUIA_Text_PreParse, "\033c", MUIA_InputMode, MUIV_InputMode_RelVerify, End, End, End; if (ui != NULL) { DoMethod(cancel, MUIM_Notify, MUIA_Pressed, FALSE, app, 2, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit); DoMethod(ok, MUIM_Notify, MUIA_Pressed, FALSE, app, 2, MUIM_Application_ReturnID, BTN_OK); DoMethod(browse_button, MUIM_Notify, MUIA_Pressed, FALSE, app, 2, MUIM_CallHook, &BrowseFileHook); } return ui; }
/* amount is 2 or more */ static void io_source_log_collisions(WORD addr, int amount, io_source_list_t *start) { io_source_list_t *current = start; char *old_msg = NULL; char *new_msg = NULL; int found = 0; current = current->next; DBG(("IO: check %d sources for addr %04x\n", amount, addr)); while (current) { /* DBG(("IO: check '%s'\n", current->device->name)); */ if (current->device->io_source_valid && addr >= current->device->start_address && addr <= current->device->end_address && current->device->io_source_prio == IO_PRIO_NORMAL) { /* found a conflict */ DBG(("IO: found #%d: '%s'\n", found, current->device->name)); /* first part of the message "read collision at x from" */ if (found == 0) { old_msg = lib_stralloc(translate_text(IDGS_IO_READ_COLL_AT_X_FROM)); new_msg = util_concat(old_msg, current->device->name, NULL); lib_free(old_msg); } if ((found != amount - 1) && (found != 0)) { old_msg = new_msg; new_msg = util_concat(old_msg, ", ", current->device->name, NULL); lib_free(old_msg); } if (found == amount - 1) { old_msg = new_msg; new_msg = util_concat(old_msg, translate_text(IDGS_AND), current->device->name, NULL); lib_free(old_msg); } found++; if (found == amount) { break; } } current = current->next; } if (found) { log_message(LOG_DEFAULT, new_msg, addr); lib_free(new_msg); } }
void ui_cmdline_show_help(unsigned int num_options, cmdline_option_ram_t *options, void *userparam) { unsigned int i; printf("\nAvailable command-line options:\n\n"); for (i = 0; i < num_options; i++) { fputs(options[i].name, stdout); if (options[i].need_arg && options[i].param_name != 0) printf(" %s", translate_text(options[i].param_name)); printf("\n\t%s\n", translate_text(options[i].description)); } putchar('\n'); }
static void uiattach_autostart_dialog(video_canvas_t *canvas) { char *name; int autostart_index = 0; if ((name = uilib_select_file_autostart(translate_text(IDS_AUTOSTART_IMAGE), UILIB_FILTER_DISK | UILIB_FILTER_TAPE | UILIB_FILTER_ZIP | UILIB_FILTER_ALL, UILIB_SELECTOR_TYPE_FILE_LOAD, UILIB_SELECTOR_STYLE_DISK_AND_TAPE, &autostart_index, NULL)) != NULL) { if (autostart_autodetect(name, NULL, autostart_index, AUTOSTART_MODE_RUN) < 0) { ui_error(translate_text(IDMES_CANNOT_AUTOSTART_FILE)); } lib_free(name); } }
APTR mui_make_ok_cancel_window(APTR gui, char *title) { APTR window, ok, cancel; if (app == NULL) { return NULL; } window = WindowObject, MUIA_Window_Title, title, MUIA_Window_ID, MAKE_ID(title[0], title[1], title[2], title[3]), MUIA_Window_Screen, canvaslist->os->screen, WindowContents, VGroup, Child, VGroup, Child, gui, End, Child, HGroup, Child, ok = TextObject, ButtonFrame, MUIA_Background, MUII_ButtonBack, MUIA_Text_Contents, translate_text(IDMES_OK), MUIA_Text_PreParse, "\033c", MUIA_InputMode, MUIV_InputMode_RelVerify, End, Child, cancel = TextObject, ButtonFrame, MUIA_Background, MUII_ButtonBack, MUIA_Text_Contents, translate_text(IDS_CANCEL), MUIA_Text_PreParse, "\033c", MUIA_InputMode, MUIV_InputMode_RelVerify, End, End, End, End; if (window != NULL) { DoMethod(window, MUIM_Notify, MUIA_Window_CloseRequest, TRUE, app, 2, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit); DoMethod(cancel, MUIM_Notify, MUIA_Pressed, FALSE, app, 2, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit); DoMethod(ok, MUIM_Notify, MUIA_Pressed, FALSE, app, 2, MUIM_Application_ReturnID, BTN_OK); } return window; }