mirror of
https://github.com/86Box/86Box.git
synced 2026-02-25 04:45:31 -07:00
Merge remote-tracking branch 'upstream/master' into feature/ich2
This commit is contained in:
@@ -665,22 +665,28 @@ BEGIN
|
||||
LTEXT STR_BUS,IDT_BUS,
|
||||
CFG_HMARGIN, 188, 24, CFG_PANE_LTEXT_HEIGHT
|
||||
COMBOBOX IDC_COMBO_HD_BUS,
|
||||
33, 186, 130, 12,CBS_DROPDOWNLIST |
|
||||
33, 186, 40, 12,CBS_DROPDOWNLIST |
|
||||
WS_VSCROLL | WS_TABSTOP
|
||||
|
||||
LTEXT STR_CHANNEL, IDT_CHANNEL,
|
||||
181, 188, 38, CFG_PANE_LTEXT_HEIGHT
|
||||
91, 188, 38, CFG_PANE_LTEXT_HEIGHT
|
||||
COMBOBOX IDC_COMBO_HD_CHANNEL,
|
||||
221, 186, 140, 12,
|
||||
131, 186, 40, 12,
|
||||
CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
COMBOBOX IDC_COMBO_HD_CHANNEL_IDE,
|
||||
221, 186, 140, 12,
|
||||
131, 186, 40, 12,
|
||||
CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
|
||||
LTEXT STR_ID, IDT_ID,
|
||||
181, 188, 38, CFG_PANE_LTEXT_HEIGHT
|
||||
91, 188, 38, CFG_PANE_LTEXT_HEIGHT
|
||||
COMBOBOX IDC_COMBO_HD_ID,
|
||||
221, 186, 140, 12,
|
||||
131, 186, 70, 12,
|
||||
CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
|
||||
LTEXT STR_SPEED, IDT_SPEED,
|
||||
201, 188, 38, CFG_PANE_LTEXT_HEIGHT
|
||||
COMBOBOX IDC_COMBO_HD_SPEED,
|
||||
241, 186, 70, 12,
|
||||
CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
|
||||
PUSHBUTTON STR_NEW, IDC_BUTTON_HDD_ADD_NEW,
|
||||
@@ -835,13 +841,13 @@ BEGIN
|
||||
COMBOBOX IDC_COMBO_CD_SPEED,
|
||||
33, 205, 140, 12,
|
||||
CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
/*
|
||||
|
||||
LTEXT STR_TYPE, IDT_CD_TYPE,
|
||||
CFG_HMARGIN, 233, 34, CFG_PANE_LTEXT_HEIGHT
|
||||
COMBOBOX IDC_COMBO_CD_SPEED,
|
||||
33, 231, 140, 12,
|
||||
181, 207, 34, CFG_PANE_LTEXT_HEIGHT
|
||||
COMBOBOX IDC_COMBO_CD_TYPE,
|
||||
221, 205, 140, 12,
|
||||
CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
*/
|
||||
|
||||
END
|
||||
|
||||
DLG_CFG_OTHER_REMOVABLE_DEVICES DIALOG DISCARDABLE CFG_PANE_LEFT, CFG_PANE_TOP, CFG_PANE_WIDTH, CFG_PANE_HEIGHT
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
* Copyright 2016-2019 Miran Grca.
|
||||
* Copyright 2017-2019 Fred N. van Kempen.
|
||||
* Copyright 2021 Laci bá'
|
||||
* Copyright 2021-2023 Jasmine Iwanek.
|
||||
*/
|
||||
#define UNICODE
|
||||
#define NTDDI_VERSION 0x06010000
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
*
|
||||
* Copyright 2016-2018 Miran Grca.
|
||||
* Copyright 2017-2018 Fred N. van Kempen.
|
||||
* Copyright 2021-2023 Jasmine Iwanek.
|
||||
*/
|
||||
#define UNICODE
|
||||
#define BITMAP WINDOWS_BITMAP
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
*
|
||||
* Copyright 2016-2018 Miran Grca.
|
||||
* Copyright 2017-2018 Fred N. van Kempen.
|
||||
* Copyright 2021-2023 Jasmine Iwanek.
|
||||
*/
|
||||
#define UNICODE
|
||||
#define BITMAP WINDOWS_BITMAP
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
*
|
||||
* Copyright 2008-2018 Sarah Walker.
|
||||
* Copyright 2016-2018 Miran Grca.
|
||||
* Copyright 2021-2023 Jasmine Iwanek.
|
||||
*/
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
@@ -47,18 +48,26 @@ deviceconfig_dlgproc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
HWND h;
|
||||
|
||||
int val_int, id, c, d;
|
||||
int p, q;
|
||||
int val_int;
|
||||
int id;
|
||||
int c;
|
||||
int d;
|
||||
int p;
|
||||
int q;
|
||||
#ifdef USE_RTMIDI
|
||||
int num;
|
||||
#endif
|
||||
int changed, cid;
|
||||
int changed;
|
||||
int cid;
|
||||
const device_config_t *config;
|
||||
const device_config_selection_t *selection;
|
||||
const device_config_bios_t *bios;
|
||||
char s[512], file_filter[512];
|
||||
char *str, *val_str;
|
||||
wchar_t ws[512], *wstr;
|
||||
char s[512];
|
||||
char file_filter[512];
|
||||
char *str;
|
||||
char *val_str;
|
||||
wchar_t ws[512];
|
||||
wchar_t *wstr;
|
||||
LPTSTR lptsTemp;
|
||||
|
||||
config = config_device.dev->config;
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
*
|
||||
* Copyright 2016-2019 Miran Grca.
|
||||
* Copyright 2017-2019 Fred N. van Kempen.
|
||||
* Copyright 2021-2023 Jasmine Iwanek.
|
||||
*/
|
||||
#define UNICODE
|
||||
#include <windows.h>
|
||||
@@ -56,12 +57,13 @@ ui_msgbox_ex(int flags, void *header, void *message, void *btn1, void *btn2, voi
|
||||
{
|
||||
WCHAR temp[512];
|
||||
TASKDIALOGCONFIG tdconfig = { 0 };
|
||||
TASKDIALOG_BUTTON tdbuttons[3],
|
||||
tdb_yes = { IDYES, STRING_OR_RESOURCE(btn1) },
|
||||
tdb_no = { IDNO, STRING_OR_RESOURCE(btn2) },
|
||||
tdb_cancel = { IDCANCEL, STRING_OR_RESOURCE(btn3) },
|
||||
tdb_exit = { IDCLOSE, MAKEINTRESOURCE(IDS_2120) };
|
||||
int ret = 0, checked = 0;
|
||||
TASKDIALOG_BUTTON tdbuttons[3];
|
||||
TASKDIALOG_BUTTON tdb_yes = { IDYES, STRING_OR_RESOURCE(btn1) };
|
||||
TASKDIALOG_BUTTON tdb_no = { IDNO, STRING_OR_RESOURCE(btn2) };
|
||||
TASKDIALOG_BUTTON tdb_cancel = { IDCANCEL, STRING_OR_RESOURCE(btn3) };
|
||||
TASKDIALOG_BUTTON tdb_exit = { IDCLOSE, MAKEINTRESOURCE(IDS_2120) };
|
||||
int ret = 0;
|
||||
int checked = 0;
|
||||
|
||||
/* Configure the default OK button. */
|
||||
tdconfig.cButtons = 0;
|
||||
@@ -150,7 +152,7 @@ ui_msgbox_ex(int flags, void *header, void *message, void *btn1, void *btn2, voi
|
||||
if (checked)
|
||||
ret += 10;
|
||||
|
||||
return (ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
@@ -201,16 +203,17 @@ file_dlg_w(HWND hwnd, WCHAR *f, WCHAR *fn, WCHAR *title, int save)
|
||||
c16stombs(openfilestring, wopenfilestring, sizeof(openfilestring));
|
||||
filterindex = ofn.nFilterIndex;
|
||||
|
||||
return (0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
return (1);
|
||||
return 1;
|
||||
}
|
||||
|
||||
int
|
||||
file_dlg(HWND hwnd, WCHAR *f, char *fn, char *title, int save)
|
||||
{
|
||||
WCHAR ufn[512], title_buf[512];
|
||||
WCHAR ufn[512];
|
||||
WCHAR title_buf[512];
|
||||
|
||||
if (fn)
|
||||
mbstoc16s(ufn, fn, strlen(fn) + 1);
|
||||
@@ -223,7 +226,9 @@ file_dlg(HWND hwnd, WCHAR *f, char *fn, char *title, int save)
|
||||
int
|
||||
file_dlg_mb(HWND hwnd, char *f, char *fn, char *title, int save)
|
||||
{
|
||||
WCHAR uf[512], ufn[512], title_buf[512];
|
||||
WCHAR uf[512];
|
||||
WCHAR ufn[512];
|
||||
WCHAR title_buf[512];
|
||||
|
||||
mbstoc16s(uf, f, strlen(f) + 1);
|
||||
mbstoc16s(ufn, fn, strlen(fn) + 1);
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
* Authors: Fred N. van Kempen, <decwiz@yahoo.com>
|
||||
*
|
||||
* Copyright 2017-2018 Fred N. van Kempen
|
||||
* Copyright 2021-2023 Jasmine Iwanek.
|
||||
*/
|
||||
#include <stdarg.h>
|
||||
#include <stdint.h>
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
* Authors: Laci bá'
|
||||
*
|
||||
* Copyright 2021 Laci bá'.
|
||||
* Copyright 2021-2023 Jasmine Iwanek.
|
||||
*/
|
||||
|
||||
#include <windows.h>
|
||||
@@ -35,9 +36,7 @@ char icon_set[256] = ""; /* name of the iconset to be used */
|
||||
void
|
||||
win_clear_icon_set(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 256; i++)
|
||||
for (uint16_t i = 0; i < 256; i++)
|
||||
if (hIcon[i] != 0) {
|
||||
DestroyIcon(hIcon[i]);
|
||||
hIcon[i] = 0;
|
||||
@@ -47,9 +46,10 @@ win_clear_icon_set(void)
|
||||
void
|
||||
win_system_icon_set(void)
|
||||
{
|
||||
int i, x = win_get_system_metrics(SM_CXSMICON, dpi), y = win_get_system_metrics(SM_CYSMICON, dpi);
|
||||
int x = win_get_system_metrics(SM_CXSMICON, dpi);
|
||||
int y = win_get_system_metrics(SM_CYSMICON, dpi);
|
||||
|
||||
for (i = 0; i < 256; i++)
|
||||
for (uint16_t i = 0; i < 256; i++)
|
||||
hIcon[i] = LoadImage(hinstance, MAKEINTRESOURCE(i), IMAGE_ICON, x, y, LR_DEFAULTCOLOR);
|
||||
}
|
||||
|
||||
@@ -136,16 +136,18 @@ win_load_icon_set(void)
|
||||
return;
|
||||
}
|
||||
|
||||
char path_root[2048] = { 0 }, temp[2048] = { 0 };
|
||||
wchar_t wtemp[2048] = { 0 };
|
||||
char path_root[2048] = { 0 };
|
||||
char temp[2048] = { 0 };
|
||||
wchar_t wtemp[2048] = { 0 };
|
||||
|
||||
win_get_icons_path(path_root);
|
||||
strcat(path_root, icon_set);
|
||||
path_slash(path_root);
|
||||
|
||||
int i, count = sizeof(icon_files) / sizeof(_ICON_DATA),
|
||||
x = win_get_system_metrics(SM_CXSMICON, dpi), y = win_get_system_metrics(SM_CYSMICON, dpi);
|
||||
for (i = 0; i < count; i++) {
|
||||
int count = sizeof(icon_files) / sizeof(_ICON_DATA);
|
||||
int x = win_get_system_metrics(SM_CXSMICON, dpi);
|
||||
int y = win_get_system_metrics(SM_CYSMICON, dpi);
|
||||
for (int i = 0; i < count; i++) {
|
||||
path_append_filename(temp, path_root, icon_files[i].filename);
|
||||
mbstoc16s(wtemp, temp, strlen(temp) + 1);
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
*
|
||||
* Copyright 2008-2019 Sarah Walker.
|
||||
* Copyright 2016-2019 Miran Grca.
|
||||
* Copyright 2021-2023 Jasmine Iwanek.
|
||||
*/
|
||||
#define DIRECTINPUT_VERSION 0x0800
|
||||
#include <dinput.h>
|
||||
@@ -242,7 +243,8 @@ joystick_get_axis(int joystick_nr, int mapping)
|
||||
void
|
||||
joystick_process(void)
|
||||
{
|
||||
int c, d;
|
||||
int c;
|
||||
int d;
|
||||
|
||||
if (!joystick_type)
|
||||
return;
|
||||
@@ -288,8 +290,10 @@ joystick_process(void)
|
||||
joystick_state[c].button[d] = plat_joystick_state[joystick_nr].b[joystick_state[c].button_mapping[d]];
|
||||
|
||||
for (d = 0; d < joystick_get_pov_count(joystick_type); d++) {
|
||||
int x, y;
|
||||
double angle, magnitude;
|
||||
int x;
|
||||
int y;
|
||||
double angle;
|
||||
double magnitude;
|
||||
|
||||
x = joystick_get_axis(joystick_nr, joystick_state[c].pov_mapping[d][0]);
|
||||
y = joystick_get_axis(joystick_nr, joystick_state[c].pov_mapping[d][1]);
|
||||
@@ -316,4 +320,5 @@ joystick_process(void)
|
||||
void
|
||||
win_joystick_handle(PRAWINPUT raw)
|
||||
{
|
||||
// Nothing to be done here, atleast currently
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
* Copyright 2008-2018 Sarah Walker.
|
||||
* Copyright 2016-2018 Miran Grca.
|
||||
* Copyright 2020 GH Cao.
|
||||
* Copyright 2021-2023 Jasmine Iwanek.
|
||||
*/
|
||||
#include <windows.h>
|
||||
#include <windowsx.h>
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
* Copyright 2008-2018 Sarah Walker.
|
||||
* Copyright 2016-2018 Miran Grca.
|
||||
* Copyright 2019 GH Cao.
|
||||
* Copyright 2021-2023 Jasmine Iwanek.
|
||||
*/
|
||||
#include <xinput.h>
|
||||
#define _USE_MATH_DEFINES
|
||||
@@ -79,15 +80,13 @@ XINPUT_STATE controllers[XINPUT_MAX_JOYSTICKS];
|
||||
void
|
||||
joystick_init()
|
||||
{
|
||||
int c;
|
||||
|
||||
atexit(joystick_close);
|
||||
|
||||
joysticks_present = 0;
|
||||
|
||||
memset(controllers, 0, sizeof(XINPUT_STATE) * XINPUT_MAX_JOYSTICKS);
|
||||
|
||||
for (c = 0; c < XINPUT_MAX_JOYSTICKS; c++) {
|
||||
for (uint8_t c = 0; c < XINPUT_MAX_JOYSTICKS; c++) {
|
||||
int value = XInputGetState(c, &controllers[c]);
|
||||
if (value != ERROR_SUCCESS)
|
||||
continue;
|
||||
@@ -171,7 +170,8 @@ joystick_poll(void)
|
||||
plat_joystick_state[c].b[10] = (controllers[c].Gamepad.wButtons & XINPUT_GAMEPAD_LEFT_THUMB) ? 128 : 0;
|
||||
plat_joystick_state[c].b[11] = (controllers[c].Gamepad.wButtons & XINPUT_GAMEPAD_RIGHT_THUMB) ? 128 : 0;
|
||||
|
||||
int dpad_x = 0, dpad_y = 0;
|
||||
int dpad_x = 0;
|
||||
int dpad_y = 0;
|
||||
if (controllers[c].Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_UP)
|
||||
dpad_y -= 32767;
|
||||
if (controllers[c].Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_DOWN)
|
||||
@@ -217,14 +217,14 @@ joystick_get_axis(int joystick_nr, int mapping)
|
||||
void
|
||||
joystick_process(void)
|
||||
{
|
||||
int c, d;
|
||||
int d;
|
||||
|
||||
if (!joystick_type)
|
||||
return;
|
||||
|
||||
joystick_poll();
|
||||
|
||||
for (c = 0; c < joystick_get_max_joysticks(joystick_type); c++) {
|
||||
for (int c = 0; c < joystick_get_max_joysticks(joystick_type); c++) {
|
||||
if (joystick_state[c].plat_joystick_nr) {
|
||||
int joystick_nr = joystick_state[c].plat_joystick_nr - 1;
|
||||
|
||||
@@ -234,8 +234,10 @@ joystick_process(void)
|
||||
joystick_state[c].button[d] = plat_joystick_state[joystick_nr].b[joystick_state[c].button_mapping[d]];
|
||||
|
||||
for (d = 0; d < joystick_get_pov_count(joystick_type); d++) {
|
||||
int x, y;
|
||||
double angle, magnitude;
|
||||
int x;
|
||||
int y;
|
||||
double angle;
|
||||
double magnitude;
|
||||
|
||||
x = joystick_get_axis(joystick_nr, joystick_state[c].pov_mapping[d][0]);
|
||||
y = joystick_get_axis(joystick_nr, joystick_state[c].pov_mapping[d][1]);
|
||||
@@ -262,4 +264,5 @@ joystick_process(void)
|
||||
void
|
||||
win_joystick_handle(PRAWINPUT raw)
|
||||
{
|
||||
// Nothing to be done here, atleast currently
|
||||
}
|
||||
|
||||
@@ -27,7 +27,8 @@ rebuild_axis_button_selections(HWND hdlg)
|
||||
int id = IDC_CONFIG_BASE + 2;
|
||||
HWND h;
|
||||
int joystick;
|
||||
int c, d;
|
||||
int c;
|
||||
int d;
|
||||
char s[269];
|
||||
|
||||
h = GetDlgItem(hdlg, IDC_CONFIG_BASE);
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
* Authors: Miran Grca, <mgrca8@gmail.com>
|
||||
*
|
||||
* Copyright 2016-2018 Miran Grca.
|
||||
* Copyright 2021-2023 Jasmine Iwanek.
|
||||
*/
|
||||
#define UNICODE
|
||||
#define _WIN32_WINNT 0x0501
|
||||
@@ -107,7 +108,9 @@ void
|
||||
keyboard_handle(PRAWINPUT raw)
|
||||
{
|
||||
USHORT scancode;
|
||||
static int recv_lalt = 0, recv_ralt = 0, recv_tab = 0;
|
||||
static int recv_lalt = 0;
|
||||
static int recv_ralt = 0;
|
||||
static int recv_tab = 0;
|
||||
|
||||
RAWKEYBOARD rawKB = raw->data.keyboard;
|
||||
scancode = rawKB.MakeCode;
|
||||
|
||||
@@ -35,7 +35,8 @@
|
||||
#define ZIP_FIRST CDROM_FIRST + CDROM_NUM
|
||||
#define MO_FIRST ZIP_FIRST + ZIP_NUM
|
||||
|
||||
static HMENU media_menu, stbar_menu;
|
||||
static HMENU media_menu;
|
||||
static HMENU stbar_menu;
|
||||
static HMENU menus[1 + 2 + FDD_NUM + CDROM_NUM + ZIP_NUM + MO_NUM];
|
||||
|
||||
static char index_map[255];
|
||||
@@ -75,7 +76,8 @@ media_menu_load_resource(wchar_t *lpName)
|
||||
static void
|
||||
media_menu_set_name_cassette(void)
|
||||
{
|
||||
wchar_t name[512], fn[512];
|
||||
wchar_t name[512];
|
||||
wchar_t fn[512];
|
||||
MENUITEMINFO mii = { 0 };
|
||||
|
||||
if (strlen(cassette_fname) == 0)
|
||||
@@ -95,7 +97,8 @@ media_menu_set_name_cassette(void)
|
||||
static void
|
||||
media_menu_set_name_cartridge(int drive)
|
||||
{
|
||||
wchar_t name[512], fn[512];
|
||||
wchar_t name[512];
|
||||
wchar_t fn[512];
|
||||
MENUITEMINFO mii = { 0 };
|
||||
|
||||
if (strlen(cart_fns[drive]) == 0) {
|
||||
@@ -117,7 +120,9 @@ media_menu_set_name_cartridge(int drive)
|
||||
static void
|
||||
media_menu_set_name_floppy(int drive)
|
||||
{
|
||||
wchar_t name[512], temp[512], fn[512];
|
||||
wchar_t name[512];
|
||||
wchar_t temp[512];
|
||||
wchar_t fn[512];
|
||||
MENUITEMINFO mii = { 0 };
|
||||
|
||||
mbstoc16s(temp, fdd_getname(fdd_get_type(drive)),
|
||||
@@ -141,7 +146,9 @@ media_menu_set_name_floppy(int drive)
|
||||
static void
|
||||
media_menu_set_name_cdrom(int drive)
|
||||
{
|
||||
wchar_t name[512], *temp, fn[512];
|
||||
wchar_t name[512];
|
||||
wchar_t *temp;
|
||||
wchar_t fn[512];
|
||||
MENUITEMINFO mii = { 0 };
|
||||
|
||||
int bus = cdrom[drive].bus_type;
|
||||
@@ -171,7 +178,9 @@ media_menu_set_name_cdrom(int drive)
|
||||
static void
|
||||
media_menu_set_name_zip(int drive)
|
||||
{
|
||||
wchar_t name[512], *temp, fn[512];
|
||||
wchar_t name[512];
|
||||
wchar_t *temp;
|
||||
wchar_t fn[512];
|
||||
MENUITEMINFO mii = { 0 };
|
||||
|
||||
int bus = zip_drives[drive].bus_type;
|
||||
@@ -200,7 +209,9 @@ media_menu_set_name_zip(int drive)
|
||||
static void
|
||||
media_menu_set_name_mo(int drive)
|
||||
{
|
||||
wchar_t name[512], *temp, fn[512];
|
||||
wchar_t name[512];
|
||||
wchar_t *temp;
|
||||
wchar_t fn[512];
|
||||
MENUITEMINFO mii = { 0 };
|
||||
|
||||
int bus = mo_drives[drive].bus_type;
|
||||
@@ -529,7 +540,9 @@ media_menu_init(void)
|
||||
int
|
||||
media_menu_proc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
int id = 0, ret = 0, wp = 0;
|
||||
int id = 0;
|
||||
int ret = 0;
|
||||
int wp = 0;
|
||||
|
||||
id = LOWORD(wParam) & 0x00ff;
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
* Copyright 2008-2017 Sarah Walker.
|
||||
* Copyright 2016-2017 Miran Grca.
|
||||
* Copyright 2019 GH Cao.
|
||||
* Copyright 2021-2023 Jasmine Iwanek.
|
||||
*/
|
||||
#include <windows.h>
|
||||
#include <windowsx.h>
|
||||
@@ -28,8 +29,9 @@
|
||||
#include <86box/win.h>
|
||||
|
||||
int mouse_capture;
|
||||
double mouse_sensitivity = 1.0; /* Unused. */
|
||||
double mouse_x_error = 0.0, mouse_y_error = 0.0; /* Unused. */
|
||||
double mouse_sensitivity = 1.0; /* Unused. */
|
||||
double mouse_x_error = 0.0; /* Unused. */
|
||||
double mouse_y_error = 0.0; /* Unused. */
|
||||
|
||||
typedef struct {
|
||||
int buttons;
|
||||
@@ -63,7 +65,8 @@ void
|
||||
win_mouse_handle(PRAWINPUT raw)
|
||||
{
|
||||
RAWMOUSE state = raw->data.mouse;
|
||||
static int x, y;
|
||||
static int x;
|
||||
static int y;
|
||||
|
||||
/* read mouse buttons and wheel */
|
||||
if (state.usButtonFlags & RI_MOUSE_LEFT_BUTTON_DOWN)
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
* Authors: Miran Grca, <mgrca8@gmail.com>
|
||||
*
|
||||
* Copyright 2016-2019 Miran Grca.
|
||||
* Copyright 2021-2023 Jasmine Iwanek.
|
||||
*/
|
||||
#define UNICODE
|
||||
#define BITMAP WINDOWS_BITMAP
|
||||
@@ -49,7 +50,8 @@ create_86f(char *file_name, disk_size_t disk_size, uint8_t rpm_mode)
|
||||
uint32_t index_hole_pos = 0;
|
||||
uint32_t tarray[512];
|
||||
uint32_t array_size;
|
||||
uint32_t track_base, track_size;
|
||||
uint32_t track_base;
|
||||
uint32_t track_size;
|
||||
int i;
|
||||
uint32_t shift = 0;
|
||||
|
||||
@@ -262,7 +264,6 @@ create_zip_sector_image(char *file_name, disk_size_t disk_size, uint8_t is_zdi,
|
||||
uint32_t zero_bytes = 0;
|
||||
uint16_t base = 0x1000;
|
||||
uint32_t pbar_max = 0;
|
||||
uint32_t i;
|
||||
MSG msg;
|
||||
|
||||
f = plat_fopen(file_name, "wb");
|
||||
@@ -466,7 +467,7 @@ create_zip_sector_image(char *file_name, disk_size_t disk_size, uint8_t is_zdi,
|
||||
Data = 0x38200 */
|
||||
}
|
||||
|
||||
for (i = 0; i < pbar_max; i++) {
|
||||
for (uint32_t i = 0; i < pbar_max; i++) {
|
||||
fwrite(&empty[i << 11], 1, 2048, f);
|
||||
SendMessage(h, PBM_SETPOS, (WPARAM) i + 2, (LPARAM) 0);
|
||||
|
||||
@@ -489,13 +490,16 @@ create_mo_sector_image(char *file_name, int8_t disk_size, uint8_t is_mdi, HWND h
|
||||
HWND h;
|
||||
FILE *f;
|
||||
const mo_type_t *dp = &mo_types[disk_size];
|
||||
uint8_t *empty, *empty2 = NULL;
|
||||
uint32_t total_size = 0, total_size2;
|
||||
uint8_t *empty;
|
||||
uint8_t *empty2 = NULL;
|
||||
uint32_t total_size = 0;
|
||||
uint32_t total_size2;
|
||||
uint32_t total_sectors = 0;
|
||||
uint32_t sector_bytes = 0;
|
||||
uint16_t base = 0x1000;
|
||||
uint32_t pbar_max = 0, blocks_num;
|
||||
uint32_t i, j;
|
||||
uint32_t pbar_max = 0;
|
||||
uint32_t blocks_num;
|
||||
uint32_t j;
|
||||
MSG msg;
|
||||
|
||||
f = plat_fopen(file_name, "wb");
|
||||
@@ -574,7 +578,7 @@ create_mo_sector_image(char *file_name, int8_t disk_size, uint8_t is_mdi, HWND h
|
||||
memset(empty, 0x00, total_size2);
|
||||
}
|
||||
|
||||
for (i = 0; i < blocks_num; i++) {
|
||||
for (uint32_t i = 0; i < blocks_num; i++) {
|
||||
fwrite(empty, 1, 1048576, f);
|
||||
|
||||
SendMessage(h, PBM_SETPOS, (WPARAM) i + j, (LPARAM) 0);
|
||||
@@ -605,7 +609,8 @@ create_mo_sector_image(char *file_name, int8_t disk_size, uint8_t is_mdi, HWND h
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int fdd_id, sb_part;
|
||||
static int fdd_id;
|
||||
static int sb_part;
|
||||
|
||||
static int file_type = 0; /* 0 = IMG, 1 = Japanese FDI, 2 = 86F */
|
||||
static char fd_file_name[1024];
|
||||
@@ -624,7 +629,7 @@ new_floppy_msgbox_header(HWND hwnd, int flags, void *header, void *message)
|
||||
|
||||
hwndMain = h;
|
||||
|
||||
return (i);
|
||||
return i;
|
||||
}
|
||||
|
||||
static int
|
||||
@@ -640,7 +645,7 @@ new_floppy_msgbox_ex(HWND hwnd, int flags, void *header, void *message, void *bt
|
||||
|
||||
hwndMain = h;
|
||||
|
||||
return (i);
|
||||
return i;
|
||||
}
|
||||
|
||||
#if defined(__amd64__) || defined(__aarch64__)
|
||||
@@ -652,12 +657,16 @@ NewFloppyDialogProcedure(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
HWND h;
|
||||
int i = 0;
|
||||
int wcs_len, ext_offs;
|
||||
int wcs_len;
|
||||
int ext_offs;
|
||||
wchar_t *ext;
|
||||
uint8_t disk_size, rpm_mode;
|
||||
uint8_t disk_size;
|
||||
uint8_t rpm_mode;
|
||||
int ret;
|
||||
FILE *f;
|
||||
int zip_types, mo_types, floppy_types;
|
||||
int zip_types;
|
||||
int mo_types;
|
||||
int floppy_types;
|
||||
wchar_t *twcs;
|
||||
|
||||
switch (message) {
|
||||
@@ -770,19 +779,19 @@ NewFloppyDialogProcedure(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
ext_offs = wcs_len - 4;
|
||||
ext = &(wopenfilestring[ext_offs]);
|
||||
if (is_zip) {
|
||||
if (((wcs_len >= 4) && !wcsicmp(ext, L".ZDI")))
|
||||
if ((wcs_len >= 4) && !wcsicmp(ext, L".ZDI"))
|
||||
file_type = 1;
|
||||
else
|
||||
file_type = 0;
|
||||
} else if (is_mo) {
|
||||
if (((wcs_len >= 4) && !wcsicmp(ext, L".MDI")))
|
||||
if ((wcs_len >= 4) && !wcsicmp(ext, L".MDI"))
|
||||
file_type = 1;
|
||||
else
|
||||
file_type = 0;
|
||||
} else {
|
||||
if (((wcs_len >= 4) && !wcsicmp(ext, L".FDI")))
|
||||
if ((wcs_len >= 4) && !wcsicmp(ext, L".FDI"))
|
||||
file_type = 1;
|
||||
else if ((((wcs_len >= 4) && !wcsicmp(ext, L".86F")) || (filterindex == 3)))
|
||||
else if (((wcs_len >= 4) && !wcsicmp(ext, L".86F")) || (filterindex == 3))
|
||||
file_type = 2;
|
||||
else
|
||||
file_type = 0;
|
||||
@@ -815,7 +824,7 @@ NewFloppyDialogProcedure(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
break;
|
||||
}
|
||||
|
||||
return (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
*
|
||||
* Copyright 1998-2007 MicroWalt Corporation
|
||||
* Copyright 2017 Fred N. van Kempen
|
||||
* Copyright 2021-2023 Jasmine Iwanek.
|
||||
*/
|
||||
#include <io.h>
|
||||
#include <stdio.h>
|
||||
@@ -72,7 +73,7 @@ opendir(const char *name)
|
||||
}
|
||||
|
||||
/* All OK. */
|
||||
return (p);
|
||||
return p;
|
||||
}
|
||||
|
||||
/* Close an open directory. */
|
||||
@@ -80,7 +81,7 @@ int
|
||||
closedir(DIR *p)
|
||||
{
|
||||
if (p == NULL)
|
||||
return (0);
|
||||
return 0;
|
||||
|
||||
_findclose(p->handle);
|
||||
|
||||
@@ -88,7 +89,7 @@ closedir(DIR *p)
|
||||
free(p->dta);
|
||||
free(p);
|
||||
|
||||
return (0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -494,8 +494,12 @@ opengl_main(void *param)
|
||||
}
|
||||
|
||||
/* Keep track of certain parameters, only changed in this thread to avoid race conditions */
|
||||
int fullscreen = resize_info.fullscreen, video_width = INIT_WIDTH, video_height = INIT_HEIGHT,
|
||||
output_width = resize_info.width, output_height = resize_info.height, frametime = options.frametime;
|
||||
int fullscreen = resize_info.fullscreen;
|
||||
int video_width = INIT_WIDTH;
|
||||
int video_height = INIT_HEIGHT;
|
||||
int output_width = resize_info.width;
|
||||
int output_height = resize_info.height;
|
||||
int frametime = options.frametime;
|
||||
|
||||
SDL_SysWMinfo wmi = { 0 };
|
||||
SDL_VERSION(&wmi.version);
|
||||
@@ -703,7 +707,11 @@ opengl_main(void *param)
|
||||
}
|
||||
|
||||
if (fullscreen) {
|
||||
int width, height, pad_x = 0, pad_y = 0, px_size = 1;
|
||||
int width;
|
||||
int height;
|
||||
int pad_x = 0;
|
||||
int pad_y = 0;
|
||||
int px_size = 1;
|
||||
float ratio = 0;
|
||||
const float ratio43 = 4.f / 3.f;
|
||||
|
||||
@@ -821,14 +829,12 @@ opengl_main(void *param)
|
||||
static void
|
||||
opengl_blit(int x, int y, int w, int h, int monitor_index)
|
||||
{
|
||||
int row;
|
||||
|
||||
if ((x < 0) || (y < 0) || (w <= 0) || (h <= 0) || (w > 2048) || (h > 2048) || (buffer32 == NULL) || (thread == NULL) || atomic_flag_test_and_set(&blit_info[write_pos].in_use) || monitor_index >= 1) {
|
||||
video_blit_complete_monitor(monitor_index);
|
||||
return;
|
||||
}
|
||||
|
||||
for (row = 0; row < h; ++row)
|
||||
for (int row = 0; row < h; ++row)
|
||||
video_copy(&(((uint8_t *) blit_info[write_pos].buffer)[row * ROW_LENGTH * sizeof(uint32_t)]), &(buffer32->line[y + row][x]), w * sizeof(uint32_t));
|
||||
|
||||
if (monitors[0].mon_screenshots)
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
* Authors: Laci bá'
|
||||
*
|
||||
* Copyright 2021 Laci bá'
|
||||
* Copyright 2021-2023 Jasmine Iwanek.
|
||||
*/
|
||||
#define UNICODE
|
||||
#define BITMAP WINDOWS_BITMAP
|
||||
@@ -38,7 +39,8 @@ static LCID temp_language;
|
||||
|
||||
static char temp_icon_set[256] = { 0 };
|
||||
|
||||
int enum_helper, c;
|
||||
int enum_helper;
|
||||
int c;
|
||||
|
||||
HWND hwndPreferences;
|
||||
|
||||
@@ -112,7 +114,8 @@ preferences_fill_iconsets(HWND hdlg)
|
||||
if (hFind != INVALID_HANDLE_VALUE) {
|
||||
do {
|
||||
if (wcscmp(data.cFileName, L".") && wcscmp(data.cFileName, L"..") && (data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) {
|
||||
wchar_t temp[512] = { 0 }, dispname[512] = { 0 };
|
||||
wchar_t temp[512] = { 0 };
|
||||
wchar_t dispname[512] = { 0 };
|
||||
mbstoc16s(temp, icon_path_root, strlen(icon_path_root) + 1);
|
||||
wcscat(temp, data.cFileName);
|
||||
wcscat(temp, L"\\iconinfo.txt");
|
||||
@@ -166,8 +169,7 @@ preferences_settings_changed(void)
|
||||
static int
|
||||
preferences_indexof(HWND combo, LPARAM itemdata)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < SendMessage(combo, CB_GETCOUNT, 0, 0); i++)
|
||||
for (int i = 0; i < SendMessage(combo, CB_GETCOUNT, 0, 0); i++)
|
||||
if (SendMessage(combo, CB_GETITEMDATA, i, 0) == itemdata)
|
||||
return i;
|
||||
|
||||
@@ -265,10 +267,9 @@ PreferencesDlgProcedure(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
|
||||
case WM_DESTROY:
|
||||
{
|
||||
int i;
|
||||
LRESULT temp;
|
||||
HWND combo = GetDlgItem(hdlg, IDC_COMBO_ICON);
|
||||
for (i = 0; i < SendMessage(combo, CB_GETCOUNT, 0, 0); i++) {
|
||||
for (int i = 0; i < SendMessage(combo, CB_GETCOUNT, 0, 0); i++) {
|
||||
temp = SendMessage(combo, CB_GETITEMDATA, i, 0);
|
||||
if (temp) {
|
||||
free((void *) temp);
|
||||
@@ -279,7 +280,7 @@ PreferencesDlgProcedure(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
break;
|
||||
}
|
||||
|
||||
return (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
*
|
||||
* NOTE: Given all the problems reported with FULLSCREEN use of SDL,
|
||||
* we will not use that, but, instead, use a new window which
|
||||
* coverrs the entire desktop.
|
||||
* covers the entire desktop.
|
||||
*
|
||||
*
|
||||
*
|
||||
@@ -81,10 +81,16 @@ static SDL_Window *sdl_win = NULL;
|
||||
static SDL_Renderer *sdl_render = NULL;
|
||||
static SDL_Texture *sdl_tex = NULL;
|
||||
static HWND sdl_parent_hwnd = NULL;
|
||||
static int sdl_w, sdl_h;
|
||||
static int sdl_fs, sdl_flags = -1;
|
||||
static int cur_w, cur_h;
|
||||
static int cur_wx = 0, cur_wy = 0, cur_ww = 0, cur_wh = 0;
|
||||
static int sdl_w;
|
||||
static int sdl_h;
|
||||
static int sdl_fs;
|
||||
static int sdl_flags = -1;
|
||||
static int cur_w;
|
||||
static int cur_h;
|
||||
static int cur_wx = 0;
|
||||
static int cur_wy = 0;
|
||||
static int cur_ww = 0;
|
||||
static int cur_wh = 0;
|
||||
static volatile int sdl_enabled = 0;
|
||||
static SDL_mutex *sdl_mutex = NULL;
|
||||
|
||||
@@ -164,7 +170,16 @@ sdl_integer_scale(double *d, double *g)
|
||||
static void
|
||||
sdl_stretch(int *w, int *h, int *x, int *y)
|
||||
{
|
||||
double hw, gw, hh, gh, dx, dy, dw, dh, gsr, hsr;
|
||||
double hw;
|
||||
double gw;
|
||||
double hh;
|
||||
double gh;
|
||||
double dx;
|
||||
double dy;
|
||||
double dw;
|
||||
double dh;
|
||||
double gsr;
|
||||
double hsr;
|
||||
|
||||
hw = (double) sdl_w;
|
||||
hh = (double) sdl_h;
|
||||
@@ -265,8 +280,8 @@ sdl_blit_ex(int x, int y, int w, int h, int monitor_index)
|
||||
{
|
||||
SDL_Rect r_src;
|
||||
void *pixeldata;
|
||||
int pitch, ret;
|
||||
int row;
|
||||
int pitch;
|
||||
int ret;
|
||||
|
||||
if (!sdl_enabled || (x < 0) || (y < 0) || (w <= 0) || (h <= 0) || (w > 2048) || (h > 2048) || (buffer32 == NULL) || (sdl_render == NULL) || (sdl_tex == NULL)) {
|
||||
video_blit_complete();
|
||||
@@ -277,7 +292,7 @@ sdl_blit_ex(int x, int y, int w, int h, int monitor_index)
|
||||
|
||||
SDL_LockTexture(sdl_tex, 0, &pixeldata, &pitch);
|
||||
|
||||
for (row = 0; row < h; ++row)
|
||||
for (int row = 0; row < h; ++row)
|
||||
video_copy(&(((uint8_t *) pixeldata)[row * 2048 * sizeof(uint32_t)]), &(buffer32->line[y + row][x]), w * sizeof(uint32_t));
|
||||
|
||||
if (monitors[0].mon_screenshots)
|
||||
@@ -363,10 +378,9 @@ static int old_capture = 0;
|
||||
static void
|
||||
sdl_select_best_hw_driver(void)
|
||||
{
|
||||
int i;
|
||||
SDL_RendererInfo renderInfo;
|
||||
|
||||
for (i = 0; i < SDL_GetNumRenderDrivers(); ++i) {
|
||||
for (int i = 0; i < SDL_GetNumRenderDrivers(); ++i) {
|
||||
SDL_GetRenderDriverInfo(i, &renderInfo);
|
||||
if (renderInfo.flags & SDL_RENDERER_ACCELERATED) {
|
||||
SDL_SetHint(SDL_HINT_RENDER_DRIVER, renderInfo.name);
|
||||
@@ -401,7 +415,10 @@ sdl_reinit_texture(void)
|
||||
void
|
||||
sdl_set_fs(int fs)
|
||||
{
|
||||
int w = 0, h = 0, x = 0, y = 0;
|
||||
int w = 0;
|
||||
int h = 0;
|
||||
int x = 0;
|
||||
int y = 0;
|
||||
RECT rect;
|
||||
|
||||
SDL_LockMutex(sdl_mutex);
|
||||
@@ -468,7 +485,7 @@ sdl_init_common(int flags)
|
||||
/* Initialize the SDL system. */
|
||||
if (SDL_Init(SDL_INIT_VIDEO) < 0) {
|
||||
sdl_log("SDL: initialization failed (%s)\n", SDL_GetError());
|
||||
return (0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (flags & RENDERER_HARDWARE) {
|
||||
@@ -507,7 +524,7 @@ sdl_init_common(int flags)
|
||||
sdl_enabled = 1;
|
||||
sdl_mutex = SDL_CreateMutex();
|
||||
|
||||
return (1);
|
||||
return 1;
|
||||
}
|
||||
|
||||
int
|
||||
@@ -531,13 +548,16 @@ sdl_initho(HWND h)
|
||||
int
|
||||
sdl_pause(void)
|
||||
{
|
||||
return (0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
void
|
||||
sdl_resize(int x, int y)
|
||||
{
|
||||
int ww = 0, wh = 0, wx = 0, wy = 0;
|
||||
int ww = 0;
|
||||
int wh = 0;
|
||||
int wx = 0;
|
||||
int wy = 0;
|
||||
|
||||
if (video_fullscreen & 2)
|
||||
return;
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
* Jasmine Iwanek <jasmine@iwanek.co.uk>
|
||||
*
|
||||
* Copyright 2021 Andreas J. Reichel
|
||||
* Copyright 2021-2022 Jasmine Iwanek
|
||||
* Copyright 2021-2023 Jasmine Iwanek
|
||||
*/
|
||||
|
||||
#define _XOPEN_SOURCE 500
|
||||
|
||||
@@ -12,11 +12,12 @@
|
||||
*
|
||||
* Authors: Miran Grca, <mgrca8@gmail.com>
|
||||
* David Hrdlička, <hrdlickadavid@outlook.com>
|
||||
* Jasmine Iwanek, <jriwanek@gmail.com>
|
||||
*
|
||||
* Copyright 2016-2019 Miran Grca.
|
||||
* Copyright 2018-2019 David Hrdlička.
|
||||
* Copyright 2021 Laci bá'
|
||||
* Copyright 2021-2022 Jasmine Iwanek.
|
||||
* Copyright 2021-2023 Jasmine Iwanek.
|
||||
*/
|
||||
#define UNICODE
|
||||
#define BITMAP WINDOWS_BITMAP
|
||||
@@ -85,7 +86,12 @@
|
||||
static int first_cat = 0;
|
||||
|
||||
/* Machine category */
|
||||
static int temp_machine_type, temp_machine, temp_cpu, temp_wait_states, temp_fpu, temp_sync;
|
||||
static int temp_machine_type;
|
||||
static int temp_machine;
|
||||
static int temp_cpu;
|
||||
static int temp_wait_states;
|
||||
static int temp_fpu;
|
||||
static int temp_sync;
|
||||
static cpu_family_t *temp_cpu_f;
|
||||
static uint32_t temp_mem_size;
|
||||
#ifdef USE_DYNAREC
|
||||
@@ -94,10 +100,14 @@ static int temp_dynarec;
|
||||
static int temp_fpu_softfloat;
|
||||
|
||||
/* Video category */
|
||||
static int temp_gfxcard[2], temp_ibm8514, temp_voodoo, temp_xga;
|
||||
static int temp_gfxcard[2];
|
||||
static int temp_ibm8514;
|
||||
static int temp_voodoo;
|
||||
static int temp_xga;
|
||||
|
||||
/* Input devices category */
|
||||
static int temp_mouse, temp_joystick;
|
||||
static int temp_mouse;
|
||||
static int temp_joystick;
|
||||
|
||||
/* Sound category */
|
||||
static int temp_sound_card[SOUND_CARD_MAX];
|
||||
@@ -145,27 +155,48 @@ static cdrom_t temp_cdrom[CDROM_NUM];
|
||||
static zip_drive_t temp_zip_drives[ZIP_NUM];
|
||||
static mo_drive_t temp_mo_drives[MO_NUM];
|
||||
|
||||
static HWND hwndParentDialog, hwndChildDialog;
|
||||
static HWND hwndParentDialog;
|
||||
static HWND hwndChildDialog;
|
||||
|
||||
static uint32_t displayed_category = 0;
|
||||
|
||||
extern int is486;
|
||||
static int listtomachinetype[256], listtomachine[256];
|
||||
static int listtocpufamily[256], listtocpu[256];
|
||||
static int settings_list_to_device[2][256], settings_list_to_fdc[20];
|
||||
static int settings_list_to_midi[20], settings_list_to_midi_in[20];
|
||||
static int listtomachinetype[256];
|
||||
static int listtomachine[256];
|
||||
static int listtocpufamily[256];
|
||||
static int listtocpu[256];
|
||||
static int settings_list_to_device[2][256];
|
||||
static int settings_list_to_fdc[20];
|
||||
static int settings_list_to_midi[20];
|
||||
static int settings_list_to_midi_in[20];
|
||||
static int settings_list_to_hdc[20];
|
||||
|
||||
static int max_spt = 63, max_hpc = 255, max_tracks = 266305;
|
||||
static uint64_t mfm_tracking, esdi_tracking, xta_tracking, ide_tracking, scsi_tracking[8];
|
||||
static int max_spt = 63;
|
||||
static int max_hpc = 255;
|
||||
static int max_tracks = 266305;
|
||||
static uint64_t mfm_tracking;
|
||||
static uint64_t esdi_tracking;
|
||||
static uint64_t xta_tracking;
|
||||
static uint64_t ide_tracking;
|
||||
static uint64_t scsi_tracking[8];
|
||||
static uint64_t size;
|
||||
static int hd_listview_items, hdc_id_to_listview_index[HDD_NUM];
|
||||
static int no_update = 0, existing = 0, chs_enabled = 0;
|
||||
static int lv1_current_sel, lv2_current_sel;
|
||||
static int hard_disk_added = 0, next_free_id = 0, selection = 127;
|
||||
static int spt, hpc, tracks, ignore_change = 0;
|
||||
static int hd_listview_items;
|
||||
static int hdc_id_to_listview_index[HDD_NUM];
|
||||
static int no_update = 0;
|
||||
static int existing = 0;
|
||||
static int chs_enabled = 0;
|
||||
static int lv1_current_sel;
|
||||
static int lv2_current_sel;
|
||||
static int hard_disk_added = 0;
|
||||
static int next_free_id = 0;
|
||||
static int selection = 127;
|
||||
static int spt;
|
||||
static int hpc;
|
||||
static int tracks;
|
||||
static int ignore_change = 0;
|
||||
|
||||
static hard_disk_t new_hdd, *hdd_ptr;
|
||||
static hard_disk_t new_hdd;
|
||||
static hard_disk_t *hdd_ptr;
|
||||
|
||||
static wchar_t hd_file_name[512];
|
||||
static WCHAR device_name[512];
|
||||
@@ -297,7 +328,7 @@ settings_msgbox_header(int flags, void *header, void *message)
|
||||
|
||||
hwndMain = h;
|
||||
|
||||
return (i);
|
||||
return i;
|
||||
}
|
||||
|
||||
static int
|
||||
@@ -313,7 +344,7 @@ settings_msgbox_ex(int flags, void *header, void *message, void *btn1, void *btn
|
||||
|
||||
hwndMain = h;
|
||||
|
||||
return (i);
|
||||
return i;
|
||||
}
|
||||
|
||||
/* This does the initial read of global variables into the temporary ones. */
|
||||
@@ -660,7 +691,8 @@ win_settings_save(void)
|
||||
static void
|
||||
win_settings_machine_recalc_fpu(HWND hdlg)
|
||||
{
|
||||
int c, type;
|
||||
int c;
|
||||
int type;
|
||||
LPTSTR lptsTemp;
|
||||
const char *stransi;
|
||||
|
||||
@@ -723,7 +755,11 @@ win_settings_machine_recalc_cpu(HWND hdlg)
|
||||
static void
|
||||
win_settings_machine_recalc_cpu_m(HWND hdlg)
|
||||
{
|
||||
int c, i, first_eligible = -1, current_eligible = 0, last_eligible = 0;
|
||||
int c;
|
||||
int i;
|
||||
int first_eligible = -1;
|
||||
int current_eligible = 0;
|
||||
int last_eligible = 0;
|
||||
LPTSTR lptsTemp;
|
||||
char *stransi;
|
||||
|
||||
@@ -766,7 +802,9 @@ static void
|
||||
win_settings_machine_recalc_machine(HWND hdlg)
|
||||
{
|
||||
HWND h;
|
||||
int c, i, current_eligible;
|
||||
int c;
|
||||
int i;
|
||||
int current_eligible;
|
||||
LPTSTR lptsTemp;
|
||||
char *stransi;
|
||||
UDACCEL accel;
|
||||
@@ -873,8 +911,10 @@ static BOOL CALLBACK
|
||||
#endif
|
||||
win_settings_machine_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
HWND h, h2;
|
||||
int c, d;
|
||||
HWND h;
|
||||
HWND h2;
|
||||
int c;
|
||||
int d;
|
||||
int old_machine_type;
|
||||
LPTSTR lptsTemp;
|
||||
char *stransi;
|
||||
@@ -1085,7 +1125,8 @@ static BOOL CALLBACK
|
||||
#endif
|
||||
win_settings_video_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
int c = 0, d = 0;
|
||||
int c = 0;
|
||||
int d = 0;
|
||||
int e;
|
||||
|
||||
switch (message) {
|
||||
@@ -1294,7 +1335,7 @@ mouse_valid(int num, int m)
|
||||
const device_t *dev;
|
||||
|
||||
if ((num == MOUSE_TYPE_INTERNAL) && !machine_has_flags(m, MACHINE_MOUSE))
|
||||
return (0);
|
||||
return 0;
|
||||
|
||||
dev = mouse_get_device(num);
|
||||
return (device_is_valid(dev, m));
|
||||
@@ -1309,7 +1350,8 @@ win_settings_input_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
wchar_t str[128];
|
||||
char *joy_name;
|
||||
int c, d;
|
||||
int c;
|
||||
int d;
|
||||
|
||||
switch (message) {
|
||||
case WM_INITDIALOG:
|
||||
@@ -1398,7 +1440,8 @@ mpu401_present(void)
|
||||
int
|
||||
mpu401_standalone_allow(void)
|
||||
{
|
||||
char *md, *mdin;
|
||||
char *md;
|
||||
char *mdin;
|
||||
|
||||
if (!machine_has_bus(temp_machine, MACHINE_BUS_ISA) && !machine_has_bus(temp_machine, MACHINE_BUS_MCA))
|
||||
return 0;
|
||||
@@ -1421,7 +1464,8 @@ static BOOL CALLBACK
|
||||
#endif
|
||||
win_settings_sound_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
uint16_t c, d;
|
||||
uint16_t c;
|
||||
uint16_t d;
|
||||
LPTSTR lptsTemp;
|
||||
const device_t *sound_dev[SOUND_CARD_MAX];
|
||||
|
||||
@@ -1756,7 +1800,8 @@ static BOOL CALLBACK
|
||||
#endif
|
||||
win_settings_ports_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
int c, i;
|
||||
int c;
|
||||
int i;
|
||||
char *s;
|
||||
LPTSTR lptsTemp;
|
||||
|
||||
@@ -1833,11 +1878,14 @@ static BOOL CALLBACK
|
||||
#endif
|
||||
win_settings_storage_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
int c, d;
|
||||
int e, is_at;
|
||||
int c;
|
||||
int d;
|
||||
int e;
|
||||
int is_at;
|
||||
LPTSTR lptsTemp;
|
||||
char *stransi;
|
||||
const device_t *scsi_dev, *fdc_dev;
|
||||
const device_t *scsi_dev;
|
||||
const device_t *fdc_dev;
|
||||
const device_t *hdc_dev;
|
||||
|
||||
switch (message) {
|
||||
@@ -2054,7 +2102,8 @@ static BOOL CALLBACK
|
||||
#endif
|
||||
win_settings_network_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
int c, d;
|
||||
int c;
|
||||
int d;
|
||||
LPTSTR lptsTemp;
|
||||
|
||||
switch (message) {
|
||||
@@ -2245,12 +2294,11 @@ static void
|
||||
normalize_hd_list(void)
|
||||
{
|
||||
hard_disk_t ihdd[HDD_NUM];
|
||||
int i, j;
|
||||
int j = 0;
|
||||
|
||||
j = 0;
|
||||
memset(ihdd, 0x00, HDD_NUM * sizeof(hard_disk_t));
|
||||
|
||||
for (i = 0; i < HDD_NUM; i++) {
|
||||
for (uint8_t i = 0; i < HDD_NUM; i++) {
|
||||
if (temp_hdd[i].bus != HDD_BUS_DISABLED) {
|
||||
memcpy(&(ihdd[j]), &(temp_hdd[i]), sizeof(hard_disk_t));
|
||||
j++;
|
||||
@@ -2264,13 +2312,13 @@ static int
|
||||
get_selected_hard_disk(HWND hdlg)
|
||||
{
|
||||
int hard_disk = -1;
|
||||
int i, j = 0;
|
||||
int j = 0;
|
||||
HWND h;
|
||||
|
||||
if (hd_listview_items == 0)
|
||||
return 0;
|
||||
|
||||
for (i = 0; i < hd_listview_items; i++) {
|
||||
for (int i = 0; i < hd_listview_items; i++) {
|
||||
h = GetDlgItem(hdlg, IDC_LIST_HARD_DISKS);
|
||||
j = ListView_GetItemState(h, i, LVIS_SELECTED);
|
||||
if (j)
|
||||
@@ -2312,9 +2360,7 @@ add_locations(HWND hdlg)
|
||||
static uint8_t
|
||||
next_free_binary_channel(uint64_t *tracking)
|
||||
{
|
||||
int64_t i;
|
||||
|
||||
for (i = 0; i < 2; i++) {
|
||||
for (int64_t i = 0; i < 2; i++) {
|
||||
if (!(*tracking & (0xffLL << (i << 3LL))))
|
||||
return i;
|
||||
}
|
||||
@@ -2325,9 +2371,7 @@ next_free_binary_channel(uint64_t *tracking)
|
||||
static uint8_t
|
||||
next_free_ide_channel(void)
|
||||
{
|
||||
int64_t i;
|
||||
|
||||
for (i = 0; i < (IDE_BUS_MAX * IDE_CHAN_MAX); i++) {
|
||||
for (int64_t i = 0; i < (IDE_BUS_MAX * IDE_CHAN_MAX); i++) {
|
||||
if (!(ide_tracking & (0xffLL << (i << 3LL))))
|
||||
return i;
|
||||
}
|
||||
@@ -2338,9 +2382,7 @@ next_free_ide_channel(void)
|
||||
static void
|
||||
next_free_scsi_id(uint8_t *id)
|
||||
{
|
||||
int64_t i;
|
||||
|
||||
for (i = 0; i < (SCSI_BUS_MAX * SCSI_ID_MAX); i++) {
|
||||
for (int64_t i = 0; i < (SCSI_BUS_MAX * SCSI_ID_MAX); i++) {
|
||||
if (!(scsi_tracking[i >> 3] & (0xffLL << ((i & 0x07) << 3LL)))) {
|
||||
*id = i;
|
||||
return;
|
||||
@@ -2353,9 +2395,9 @@ next_free_scsi_id(uint8_t *id)
|
||||
static void
|
||||
recalc_location_controls(HWND hdlg, int is_add_dlg, int assign_id)
|
||||
{
|
||||
int i = 0, bus = 0;
|
||||
int bus = 0;
|
||||
|
||||
for (i = IDT_CHANNEL; i <= IDT_ID; i++)
|
||||
for (uint16_t i = IDT_CHANNEL; i <= IDT_ID; i++)
|
||||
settings_show_window(hdlg, i, FALSE);
|
||||
settings_show_window(hdlg, IDC_COMBO_HD_CHANNEL, FALSE);
|
||||
settings_show_window(hdlg, IDC_COMBO_HD_ID, FALSE);
|
||||
@@ -2442,10 +2484,14 @@ bus_full(uint64_t *tracking, int count)
|
||||
static void
|
||||
recalc_next_free_id(HWND hdlg)
|
||||
{
|
||||
int i, enable_add = 0;
|
||||
int c_mfm = 0, c_esdi = 0;
|
||||
int c_xta = 0, c_ide = 0;
|
||||
int c_atapi = 0, c_scsi = 0;
|
||||
int i;
|
||||
int enable_add = 0;
|
||||
int c_mfm = 0;
|
||||
int c_esdi = 0;
|
||||
int c_xta = 0;
|
||||
int c_ide = 0;
|
||||
int c_atapi = 0;
|
||||
int c_scsi = 0;
|
||||
|
||||
next_free_id = -1;
|
||||
|
||||
@@ -2557,7 +2603,8 @@ win_settings_hard_disks_recalc_list(HWND hdlg)
|
||||
{
|
||||
LVITEM lvI;
|
||||
int j = 0;
|
||||
WCHAR szText[256], usr_path_w[1024];
|
||||
WCHAR szText[256];
|
||||
WCHAR usr_path_w[1024];
|
||||
HWND hwndList = GetDlgItem(hdlg, IDC_LIST_HARD_DISKS);
|
||||
|
||||
mbstoc16s(usr_path_w, usr_path, sizeof_w(usr_path_w));
|
||||
@@ -2676,21 +2723,21 @@ static void
|
||||
win_settings_hard_disks_resize_columns(HWND hdlg)
|
||||
{
|
||||
/* Bus, File, Cylinders, Heads, Sectors, Size */
|
||||
int iCol, width[C_COLUMNS_HARD_DISKS] = {
|
||||
C_COLUMNS_HARD_DISKS_BUS,
|
||||
C_COLUMNS_HARD_DISKS_FILE,
|
||||
C_COLUMNS_HARD_DISKS_CYLS,
|
||||
C_COLUMNS_HARD_DISKS_HEADS,
|
||||
C_COLUMNS_HARD_DISKS_SECT,
|
||||
C_COLUMNS_HARD_DISKS_SIZE,
|
||||
C_COLUMNS_HARD_DISKS_SPEED
|
||||
};
|
||||
int width[C_COLUMNS_HARD_DISKS] = {
|
||||
C_COLUMNS_HARD_DISKS_BUS,
|
||||
C_COLUMNS_HARD_DISKS_FILE,
|
||||
C_COLUMNS_HARD_DISKS_CYLS,
|
||||
C_COLUMNS_HARD_DISKS_HEADS,
|
||||
C_COLUMNS_HARD_DISKS_SECT,
|
||||
C_COLUMNS_HARD_DISKS_SIZE,
|
||||
C_COLUMNS_HARD_DISKS_SPEED
|
||||
};
|
||||
int total = 0;
|
||||
HWND hwndList = GetDlgItem(hdlg, IDC_LIST_HARD_DISKS);
|
||||
RECT r;
|
||||
|
||||
GetWindowRect(hwndList, &r);
|
||||
for (iCol = 0; iCol < (C_COLUMNS_HARD_DISKS - 1); iCol++) {
|
||||
for (int iCol = 0; iCol < (C_COLUMNS_HARD_DISKS - 1); iCol++) {
|
||||
width[iCol] = MulDiv(width[iCol], dpi, 96);
|
||||
total += width[iCol];
|
||||
ListView_SetColumnWidth(hwndList, iCol, MulDiv(width[iCol], dpi, 96));
|
||||
@@ -2703,12 +2750,11 @@ static BOOL
|
||||
win_settings_hard_disks_init_columns(HWND hdlg)
|
||||
{
|
||||
LVCOLUMN lvc;
|
||||
int iCol;
|
||||
HWND hwndList = GetDlgItem(hdlg, IDC_LIST_HARD_DISKS);
|
||||
|
||||
lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
|
||||
|
||||
for (iCol = 0; iCol < C_COLUMNS_HARD_DISKS; iCol++) {
|
||||
for (int iCol = 0; iCol < C_COLUMNS_HARD_DISKS; iCol++) {
|
||||
lvc.iSubItem = iCol;
|
||||
lvc.pszText = plat_get_string(IDS_BUS + iCol);
|
||||
|
||||
@@ -2792,14 +2838,13 @@ get_edit_box_text_contents(HWND hdlg, int id, WCHAR *text_buffer, int buffer_siz
|
||||
static int
|
||||
hdconf_initialize_hdt_combo(HWND hdlg)
|
||||
{
|
||||
int i = 0;
|
||||
uint64_t temp_size = 0;
|
||||
uint32_t size_mb = 0;
|
||||
WCHAR szText[256];
|
||||
|
||||
selection = 127;
|
||||
|
||||
for (i = 0; i < 127; i++) {
|
||||
for (uint8_t i = 0; i < 127; i++) {
|
||||
temp_size = ((uint64_t) hdd_table[i][0]) * hdd_table[i][1] * hdd_table[i][2];
|
||||
size_mb = (uint32_t) (temp_size >> 11LL);
|
||||
wsprintf(szText, plat_get_string(IDS_2108), size_mb, hdd_table[i][0], hdd_table[i][1], hdd_table[i][2]);
|
||||
@@ -2816,10 +2861,8 @@ hdconf_initialize_hdt_combo(HWND hdlg)
|
||||
static void
|
||||
recalc_selection(HWND hdlg)
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
selection = 127;
|
||||
for (i = 0; i < 127; i++) {
|
||||
for (uint8_t i = 0; i < 127; i++) {
|
||||
if ((tracks == (int) hdd_table[i][0]) && (hpc == (int) hdd_table[i][1]) && (spt == (int) hdd_table[i][2]))
|
||||
selection = i;
|
||||
}
|
||||
@@ -2988,9 +3031,12 @@ win_settings_hard_disks_add_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM
|
||||
{
|
||||
HWND h;
|
||||
FILE *f;
|
||||
uint32_t temp, i = 0, sector_size = 512;
|
||||
uint32_t zero = 0, base = 0x1000;
|
||||
uint64_t signature = 0xD778A82044445459ll;
|
||||
uint32_t temp;
|
||||
uint32_t i = 0;
|
||||
uint32_t sector_size = 512;
|
||||
uint32_t zero = 0;
|
||||
uint32_t base = 0x1000;
|
||||
uint64_t signature = 0xD778A82044445459LL;
|
||||
uint64_t r = 0;
|
||||
char *big_buf;
|
||||
char hd_file_name_multibyte[1200];
|
||||
@@ -2999,7 +3045,8 @@ win_settings_hard_disks_add_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM
|
||||
uint8_t channel = 0;
|
||||
uint8_t id = 0;
|
||||
wchar_t *twcs;
|
||||
int img_format, block_size;
|
||||
int img_format;
|
||||
int block_size;
|
||||
WCHAR text_buf[256];
|
||||
RECT rect;
|
||||
POINT point;
|
||||
@@ -3142,7 +3189,7 @@ win_settings_hard_disks_add_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM
|
||||
sector_size = 512;
|
||||
|
||||
if (!(existing & 1) && (wcslen(hd_file_name) > 0)) {
|
||||
if (size > 0x1FFFFFFE00ll) {
|
||||
if (size > 0x1FFFFFFE00LL) {
|
||||
settings_msgbox_header(MBX_ERROR, (wchar_t *) IDS_4116, (wchar_t *) IDS_4105);
|
||||
return TRUE;
|
||||
}
|
||||
@@ -3155,7 +3202,7 @@ win_settings_hard_disks_add_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM
|
||||
}
|
||||
|
||||
if (img_format == IMG_FMT_HDI) { /* HDI file */
|
||||
if (size >= 0x100000000ll) {
|
||||
if (size >= 0x100000000LL) {
|
||||
fclose(f);
|
||||
settings_msgbox_header(MBX_ERROR, (wchar_t *) IDS_4116, (wchar_t *) IDS_4104);
|
||||
return TRUE;
|
||||
@@ -3760,9 +3807,7 @@ hard_disk_untrack(uint8_t id)
|
||||
static void
|
||||
hard_disk_track_all(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < HDD_NUM; i++)
|
||||
for (uint8_t i = 0; i < HDD_NUM; i++)
|
||||
hard_disk_track(i);
|
||||
}
|
||||
|
||||
@@ -3773,7 +3818,9 @@ static BOOL CALLBACK
|
||||
#endif
|
||||
win_settings_hard_disks_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
int old_sel = 0, b = 0, assign = 0;
|
||||
int old_sel = 0;
|
||||
int b = 0;
|
||||
int assign = 0;
|
||||
const uint8_t hd_icons[2] = { 80, 0 };
|
||||
|
||||
switch (message) {
|
||||
@@ -3920,15 +3967,15 @@ static BOOL
|
||||
win_settings_floppy_drives_recalc_list(HWND hdlg)
|
||||
{
|
||||
LVITEM lvI;
|
||||
int i = 0;
|
||||
char s[256], *t;
|
||||
char s[256];
|
||||
char *t;
|
||||
WCHAR szText[256];
|
||||
HWND hwndList = GetDlgItem(hdlg, IDC_LIST_FLOPPY_DRIVES);
|
||||
|
||||
lvI.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_STATE;
|
||||
lvI.stateMask = lvI.state = 0;
|
||||
|
||||
for (i = 0; i < FDD_NUM; i++) {
|
||||
for (uint8_t i = 0; i < FDD_NUM; i++) {
|
||||
lvI.iSubItem = 0;
|
||||
if (temp_fdd_types[i] > 0) {
|
||||
t = fdd_getname(temp_fdd_types[i]);
|
||||
@@ -3967,14 +4014,14 @@ static BOOL
|
||||
win_settings_cdrom_drives_recalc_list(HWND hdlg)
|
||||
{
|
||||
LVITEM lvI;
|
||||
int i = 0, fsid = 0;
|
||||
int fsid = 0;
|
||||
WCHAR szText[256];
|
||||
HWND hwndList = GetDlgItem(hdlg, IDC_LIST_CDROM_DRIVES);
|
||||
|
||||
lvI.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_STATE;
|
||||
lvI.stateMask = lvI.iSubItem = lvI.state = 0;
|
||||
|
||||
for (i = 0; i < CDROM_NUM; i++) {
|
||||
for (uint8_t i = 0; i < CDROM_NUM; i++) {
|
||||
fsid = combo_id_to_format_string_id(temp_cdrom[i].bus_type);
|
||||
|
||||
lvI.iSubItem = 0;
|
||||
@@ -4032,7 +4079,7 @@ static BOOL
|
||||
win_settings_mo_drives_recalc_list(HWND hdlg)
|
||||
{
|
||||
LVITEM lvI;
|
||||
int i = 0, fsid = 0;
|
||||
int fsid = 0;
|
||||
WCHAR szText[256];
|
||||
char szType[30];
|
||||
HWND hwndList = GetDlgItem(hdlg, IDC_LIST_MO_DRIVES);
|
||||
@@ -4040,7 +4087,7 @@ win_settings_mo_drives_recalc_list(HWND hdlg)
|
||||
lvI.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_STATE;
|
||||
lvI.stateMask = lvI.iSubItem = lvI.state = 0;
|
||||
|
||||
for (i = 0; i < MO_NUM; i++) {
|
||||
for (uint8_t i = 0; i < MO_NUM; i++) {
|
||||
fsid = combo_id_to_format_string_id(temp_mo_drives[i].bus_type);
|
||||
|
||||
lvI.iSubItem = 0;
|
||||
@@ -4095,14 +4142,14 @@ static BOOL
|
||||
win_settings_zip_drives_recalc_list(HWND hdlg)
|
||||
{
|
||||
LVITEM lvI;
|
||||
int i = 0, fsid = 0;
|
||||
int fsid = 0;
|
||||
WCHAR szText[256];
|
||||
HWND hwndList = GetDlgItem(hdlg, IDC_LIST_ZIP_DRIVES);
|
||||
|
||||
lvI.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_STATE;
|
||||
lvI.stateMask = lvI.iSubItem = lvI.state = 0;
|
||||
|
||||
for (i = 0; i < ZIP_NUM; i++) {
|
||||
for (uint8_t i = 0; i < ZIP_NUM; i++) {
|
||||
fsid = combo_id_to_format_string_id(temp_zip_drives[i].bus_type);
|
||||
|
||||
lvI.iSubItem = 0;
|
||||
@@ -4148,17 +4195,17 @@ win_settings_zip_drives_recalc_list(HWND hdlg)
|
||||
static void
|
||||
win_settings_floppy_drives_resize_columns(HWND hdlg)
|
||||
{
|
||||
int iCol, width[C_COLUMNS_FLOPPY_DRIVES] = {
|
||||
C_COLUMNS_FLOPPY_DRIVES_TYPE,
|
||||
C_COLUMNS_FLOPPY_DRIVES_TURBO,
|
||||
C_COLUMNS_FLOPPY_DRIVES_BPB
|
||||
};
|
||||
int width[C_COLUMNS_FLOPPY_DRIVES] = {
|
||||
C_COLUMNS_FLOPPY_DRIVES_TYPE,
|
||||
C_COLUMNS_FLOPPY_DRIVES_TURBO,
|
||||
C_COLUMNS_FLOPPY_DRIVES_BPB
|
||||
};
|
||||
int total = 0;
|
||||
HWND hwndList = GetDlgItem(hdlg, IDC_LIST_FLOPPY_DRIVES);
|
||||
RECT r;
|
||||
|
||||
GetWindowRect(hwndList, &r);
|
||||
for (iCol = 0; iCol < C_COLUMNS_FLOPPY_DRIVES; iCol++) {
|
||||
for (uint8_t iCol = 0; iCol < C_COLUMNS_FLOPPY_DRIVES; iCol++) {
|
||||
width[iCol] = MulDiv(width[iCol], dpi, 96);
|
||||
total += width[iCol];
|
||||
ListView_SetColumnWidth(hwndList, iCol, MulDiv(width[iCol], dpi, 96));
|
||||
@@ -4216,17 +4263,17 @@ win_settings_floppy_drives_init_columns(HWND hdlg)
|
||||
static void
|
||||
win_settings_cdrom_drives_resize_columns(HWND hdlg)
|
||||
{
|
||||
int iCol, width[C_COLUMNS_CDROM_DRIVES] = {
|
||||
C_COLUMNS_CDROM_DRIVES_BUS,
|
||||
C_COLUMNS_CDROM_DRIVES_SPEED,
|
||||
C_COLUMNS_CDROM_DRIVES_EARLIER
|
||||
};
|
||||
int width[C_COLUMNS_CDROM_DRIVES] = {
|
||||
C_COLUMNS_CDROM_DRIVES_BUS,
|
||||
C_COLUMNS_CDROM_DRIVES_SPEED,
|
||||
C_COLUMNS_CDROM_DRIVES_EARLIER
|
||||
};
|
||||
int total = 0;
|
||||
HWND hwndList = GetDlgItem(hdlg, IDC_LIST_CDROM_DRIVES);
|
||||
RECT r;
|
||||
|
||||
GetWindowRect(hwndList, &r);
|
||||
for (iCol = 0; iCol < C_COLUMNS_CDROM_DRIVES; iCol++) {
|
||||
for (uint8_t iCol = 0; iCol < C_COLUMNS_CDROM_DRIVES; iCol++) {
|
||||
width[iCol] = MulDiv(width[iCol], dpi, 96);
|
||||
total += width[iCol];
|
||||
ListView_SetColumnWidth(hwndList, iCol, MulDiv(width[iCol], dpi, 96));
|
||||
@@ -4385,10 +4432,10 @@ static int
|
||||
get_selected_drive(HWND hdlg, int id, int max)
|
||||
{
|
||||
int drive = -1;
|
||||
int i, j = 0;
|
||||
int j = 0;
|
||||
HWND h;
|
||||
|
||||
for (i = 0; i < max; i++) {
|
||||
for (int i = 0; i < max; i++) {
|
||||
h = GetDlgItem(hdlg, id);
|
||||
j = ListView_GetItemState(h, i, LVIS_SELECTED);
|
||||
if (j)
|
||||
@@ -4402,7 +4449,8 @@ static void
|
||||
win_settings_floppy_drives_update_item(HWND hdlg, int i)
|
||||
{
|
||||
LVITEM lvI;
|
||||
char s[256], *t;
|
||||
char s[256];
|
||||
char *t;
|
||||
WCHAR szText[256];
|
||||
HWND hwndList = GetDlgItem(hdlg, IDC_LIST_FLOPPY_DRIVES);
|
||||
|
||||
@@ -4642,10 +4690,9 @@ cdrom_add_locations(HWND hdlg)
|
||||
static void
|
||||
cdrom_recalc_location_controls(HWND hdlg, int assign_id)
|
||||
{
|
||||
int i = 0;
|
||||
int bus = temp_cdrom[lv2_current_sel].bus_type;
|
||||
|
||||
for (i = IDT_CD_ID; i <= IDT_CD_CHANNEL; i++)
|
||||
for (uint16_t i = IDT_CD_ID; i <= IDT_CD_CHANNEL; i++)
|
||||
settings_show_window(hdlg, i, FALSE);
|
||||
settings_show_window(hdlg, IDC_COMBO_CD_ID, FALSE);
|
||||
settings_show_window(hdlg, IDC_COMBO_CD_CHANNEL_IDE, FALSE);
|
||||
@@ -4725,10 +4772,9 @@ mo_add_locations(HWND hdlg)
|
||||
static void
|
||||
mo_recalc_location_controls(HWND hdlg, int assign_id)
|
||||
{
|
||||
int i = 0;
|
||||
int bus = temp_mo_drives[lv1_current_sel].bus_type;
|
||||
|
||||
for (i = IDT_MO_ID; i <= (IDT_MO_CHANNEL); i++)
|
||||
for (int i = IDT_MO_ID; i <= IDT_MO_CHANNEL; i++)
|
||||
settings_show_window(hdlg, i, FALSE);
|
||||
settings_show_window(hdlg, IDC_COMBO_MO_ID, FALSE);
|
||||
settings_show_window(hdlg, IDC_COMBO_MO_CHANNEL_IDE, FALSE);
|
||||
@@ -4789,11 +4835,9 @@ zip_add_locations(HWND hdlg)
|
||||
static void
|
||||
zip_recalc_location_controls(HWND hdlg, int assign_id)
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
int bus = temp_zip_drives[lv2_current_sel].bus_type;
|
||||
|
||||
for (i = IDT_ZIP_ID; i <= (IDT_ZIP_LUN); i++)
|
||||
for (int i = IDT_ZIP_ID; i <= IDT_ZIP_LUN; i++)
|
||||
settings_show_window(hdlg, i, FALSE);
|
||||
settings_show_window(hdlg, IDC_COMBO_ZIP_ID, FALSE);
|
||||
settings_show_window(hdlg, IDC_COMBO_ZIP_CHANNEL_IDE, FALSE);
|
||||
@@ -4885,7 +4929,9 @@ static BOOL CALLBACK
|
||||
#endif
|
||||
win_settings_floppy_and_cdrom_drives_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
int i = 0, old_sel = 0, b = 0, assign = 0;
|
||||
int old_sel = 0;
|
||||
int b = 0;
|
||||
int assign = 0;
|
||||
uint32_t b2 = 0;
|
||||
WCHAR szText[256];
|
||||
const uint8_t fd_icons[15] = { 248, 16, 16, 16, 16, 16, 16, 24, 24, 24, 24, 24, 24, 24, 0 };
|
||||
@@ -4900,7 +4946,7 @@ win_settings_floppy_and_cdrom_drives_proc(HWND hdlg, UINT message, WPARAM wParam
|
||||
image_list_init(hdlg, IDC_LIST_FLOPPY_DRIVES, (const uint8_t *) fd_icons);
|
||||
win_settings_floppy_drives_recalc_list(hdlg);
|
||||
settings_listview_select(hdlg, IDC_LIST_FLOPPY_DRIVES, 0);
|
||||
for (i = 0; i < 14; i++) {
|
||||
for (uint8_t i = 0; i < 14; i++) {
|
||||
if (i == 0)
|
||||
settings_add_string(hdlg, IDC_COMBO_FD_TYPE, win_get_string(IDS_5376));
|
||||
else {
|
||||
@@ -5076,7 +5122,9 @@ static BOOL CALLBACK
|
||||
#endif
|
||||
win_settings_other_removable_devices_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
int old_sel = 0, b = 0, assign = 0;
|
||||
int old_sel = 0;
|
||||
int b = 0;
|
||||
int assign = 0;
|
||||
uint32_t b2 = 0;
|
||||
const uint8_t mo_icons[3] = { 251, 56, 0 };
|
||||
const uint8_t zip_icons[3] = { 250, 48, 0 };
|
||||
@@ -5303,7 +5351,8 @@ static BOOL CALLBACK
|
||||
#endif
|
||||
win_settings_peripherals_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
int c, d;
|
||||
int c;
|
||||
int d;
|
||||
int e;
|
||||
LPTSTR lptsTemp;
|
||||
char *stransi;
|
||||
@@ -5477,12 +5526,11 @@ static BOOL
|
||||
win_settings_main_insert_categories(HWND hwndList)
|
||||
{
|
||||
LVITEM lvI;
|
||||
int i = 0;
|
||||
|
||||
lvI.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_STATE;
|
||||
lvI.stateMask = lvI.iSubItem = lvI.state = 0;
|
||||
|
||||
for (i = 0; i < 11; i++) {
|
||||
for (uint8_t i = 0; i < 11; i++) {
|
||||
lvI.pszText = plat_get_string(IDS_2065 + i);
|
||||
lvI.iItem = i;
|
||||
lvI.iImage = i;
|
||||
@@ -5568,7 +5616,8 @@ static BOOL CALLBACK
|
||||
win_settings_main_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
HWND h = NULL;
|
||||
int category, i = 0, j = 0;
|
||||
int category;
|
||||
int j = 0;
|
||||
const uint8_t cat_icons[12] = { 240, 241, 242, 243, 96, 244, 252, 80, 246, 247, 245, 0 };
|
||||
|
||||
hwndParentDialog = hdlg;
|
||||
@@ -5588,7 +5637,7 @@ win_settings_main_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
case WM_NOTIFY:
|
||||
if ((((LPNMHDR) lParam)->code == LVN_ITEMCHANGED) && (((LPNMHDR) lParam)->idFrom == IDC_SETTINGSCATLIST)) {
|
||||
category = -1;
|
||||
for (i = 0; i < 11; i++) {
|
||||
for (uint8_t i = 0; i < 11; i++) {
|
||||
h = GetDlgItem(hdlg, IDC_SETTINGSCATLIST);
|
||||
j = ListView_GetItemState(h, i, LVIS_SELECTED);
|
||||
if (j)
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
* Authors: Miran Grca, <mgrca8@gmail.com>
|
||||
*
|
||||
* Copyright 2016-2018 Miran Grca.
|
||||
* Copyright 2021-2023 Jasmine Iwanek.
|
||||
*/
|
||||
#define UNICODE
|
||||
#define BITMAP WINDOWS_BITMAP
|
||||
@@ -79,7 +80,7 @@ SoundGainDialogProcedure(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
break;
|
||||
}
|
||||
|
||||
return (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
* Authors: Miran Grca, <mgrca8@gmail.com>
|
||||
*
|
||||
* Copyright 2016-2018 Miran Grca.
|
||||
* Copyright 2021-2023 Jasmine Iwanek.
|
||||
*/
|
||||
#define UNICODE
|
||||
#define BITMAP WINDOWS_BITMAP
|
||||
@@ -39,12 +40,16 @@ static BOOL CALLBACK
|
||||
#endif
|
||||
SpecifyDimensionsDialogProcedure(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
HWND h, h2;
|
||||
HWND h;
|
||||
HWND h2;
|
||||
HMENU hmenu;
|
||||
UDACCEL accel, accel2;
|
||||
UDACCEL accel;
|
||||
UDACCEL accel2;
|
||||
RECT r;
|
||||
uint32_t temp_x = 0, temp_y = 0;
|
||||
int dpi = 96, lock;
|
||||
uint32_t temp_x = 0;
|
||||
uint32_t temp_y = 0;
|
||||
int dpi = 96;
|
||||
int lock;
|
||||
LPTSTR lptsTemp;
|
||||
char *stransi;
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
*
|
||||
* Copyright 2016-2019 Miran Grca.
|
||||
* Copyright 2017-2019 Fred N. van Kempen.
|
||||
* Copyright 2021-2023 Jasmine Iwanek.
|
||||
*/
|
||||
#define UNICODE
|
||||
#define BITMAP WINDOWS_BITMAP
|
||||
@@ -56,7 +57,8 @@
|
||||
#include <86box/win.h>
|
||||
|
||||
HWND hwndSBAR;
|
||||
int update_icons = 1, reset_occurred = 1;
|
||||
int update_icons = 1;
|
||||
int reset_occurred = 1;
|
||||
|
||||
static LONG_PTR OriginalProcedure;
|
||||
static WCHAR **sbTips;
|
||||
@@ -103,7 +105,7 @@ fdd_type_to_icon(int type)
|
||||
break;
|
||||
}
|
||||
|
||||
return (ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* FIXME: should be hdd_count() in hdd.c */
|
||||
@@ -111,14 +113,13 @@ static int
|
||||
hdd_count(int bus)
|
||||
{
|
||||
int c = 0;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < HDD_NUM; i++) {
|
||||
for (uint8_t i = 0; i < HDD_NUM; i++) {
|
||||
if (hdd[i].bus == bus)
|
||||
c++;
|
||||
}
|
||||
|
||||
return (c);
|
||||
return c;
|
||||
}
|
||||
|
||||
void
|
||||
@@ -147,7 +148,7 @@ ui_sb_update_icon(int tag, int active)
|
||||
if (!update_icons || !sb_ready)
|
||||
return;
|
||||
|
||||
if (((tag & 0xf0) >= SB_TEXT))
|
||||
if ((tag & 0xf0) >= SB_TEXT)
|
||||
return;
|
||||
|
||||
found = sb_map[tag];
|
||||
@@ -453,15 +454,13 @@ ui_sb_update_tip(int meaning)
|
||||
static void
|
||||
StatusBarDestroyTips(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (sb_parts == 0)
|
||||
return;
|
||||
|
||||
if (!sbTips)
|
||||
return;
|
||||
|
||||
for (i = 0; i < sb_parts; i++) {
|
||||
for (int i = 0; i < sb_parts; i++) {
|
||||
if (sbTips[i]) {
|
||||
free(sbTips[i]);
|
||||
sbTips[i] = NULL;
|
||||
@@ -494,11 +493,20 @@ ui_sb_set_ready(int ready)
|
||||
void
|
||||
ui_sb_update_panes(void)
|
||||
{
|
||||
int i, id;
|
||||
int cart_int, mfm_int, xta_int, esdi_int, ide_int, scsi_int;
|
||||
int i;
|
||||
int id;
|
||||
int cart_int;
|
||||
int mfm_int;
|
||||
int xta_int;
|
||||
int esdi_int;
|
||||
int ide_int;
|
||||
int scsi_int;
|
||||
int edge = 0;
|
||||
int c_mfm, c_esdi, c_xta;
|
||||
int c_ide, c_scsi;
|
||||
int c_mfm;
|
||||
int c_esdi;
|
||||
int c_xta;
|
||||
int c_ide;
|
||||
int c_scsi;
|
||||
int do_net;
|
||||
char *hdc_name;
|
||||
|
||||
@@ -879,7 +887,7 @@ StatusBarProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
switch (message) {
|
||||
case WM_COMMAND:
|
||||
media_menu_proc(hwnd, message, wParam, lParam);
|
||||
return (0);
|
||||
return 0;
|
||||
|
||||
case WM_LBUTTONDOWN:
|
||||
case WM_RBUTTONDOWN:
|
||||
@@ -924,7 +932,7 @@ StatusBarProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
hwnd, message, wParam, lParam));
|
||||
}
|
||||
|
||||
return (0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* API: Create and set up the Status Bar window. */
|
||||
@@ -932,7 +940,8 @@ void
|
||||
StatusBarCreate(HWND hwndParent, uintptr_t idStatus, HINSTANCE hInst)
|
||||
{
|
||||
RECT rectDialog;
|
||||
int dw, dh;
|
||||
int dw;
|
||||
int dh;
|
||||
|
||||
/* Get current DPI and calculate icon sizes */
|
||||
dpi = win_get_dpi(hwndParent);
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
*
|
||||
* Copyright 2008-2018 Sarah Walker.
|
||||
* Copyright 2017-2018 Fred N. van Kempen.
|
||||
* Copyright 2021-2023 Jasmine Iwanek.
|
||||
*/
|
||||
#define UNICODE
|
||||
#define BITMAP WINDOWS_BITMAP
|
||||
@@ -46,7 +47,7 @@ int
|
||||
thread_test_mutex(thread_t *arg)
|
||||
{
|
||||
if (arg == NULL)
|
||||
return (0);
|
||||
return 0;
|
||||
|
||||
return (WaitForSingleObject(arg, 0) == WAIT_OBJECT_0) ? 1 : 0;
|
||||
}
|
||||
@@ -55,12 +56,12 @@ int
|
||||
thread_wait(thread_t *arg)
|
||||
{
|
||||
if (arg == NULL)
|
||||
return (0);
|
||||
return 0;
|
||||
|
||||
if (WaitForSingleObject(arg, INFINITE))
|
||||
return (1);
|
||||
return 1;
|
||||
|
||||
return (0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
event_t *
|
||||
@@ -101,18 +102,18 @@ thread_wait_event(event_t *arg, int timeout)
|
||||
win_event_t *ev = (win_event_t *) arg;
|
||||
|
||||
if (arg == NULL)
|
||||
return (0);
|
||||
return 0;
|
||||
|
||||
if (ev->handle == NULL)
|
||||
return (0);
|
||||
return 0;
|
||||
|
||||
if (timeout == -1)
|
||||
timeout = INFINITE;
|
||||
|
||||
if (WaitForSingleObject(ev->handle, timeout))
|
||||
return (1);
|
||||
return 1;
|
||||
|
||||
return (0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
void
|
||||
@@ -142,7 +143,7 @@ int
|
||||
thread_wait_mutex(mutex_t *mutex)
|
||||
{
|
||||
if (mutex == NULL)
|
||||
return (0);
|
||||
return 0;
|
||||
|
||||
LPCRITICAL_SECTION critsec = (LPCRITICAL_SECTION) mutex;
|
||||
|
||||
@@ -155,7 +156,7 @@ int
|
||||
thread_release_mutex(mutex_t *mutex)
|
||||
{
|
||||
if (mutex == NULL)
|
||||
return (0);
|
||||
return 0;
|
||||
|
||||
LPCRITICAL_SECTION critsec = (LPCRITICAL_SECTION) mutex;
|
||||
|
||||
|
||||
@@ -204,5 +204,5 @@ ui_window_title(wchar_t *s)
|
||||
s = wTitle;
|
||||
}
|
||||
|
||||
return (s);
|
||||
return s;
|
||||
}
|
||||
|
||||
115
src/win/win_ui.c
115
src/win/win_ui.c
@@ -13,11 +13,13 @@
|
||||
* Authors: Sarah Walker, <https://pcem-emulator.co.uk/>
|
||||
* Miran Grca, <mgrca8@gmail.com>
|
||||
* Fred N. van Kempen, <decwiz@yahoo.com>
|
||||
* Jasmine Iwanek, <jriwanek@gmail.com>
|
||||
*
|
||||
* Copyright 2008-2020 Sarah Walker.
|
||||
* Copyright 2016-2020 Miran Grca.
|
||||
* Copyright 2017-2020 Fred N. van Kempen.
|
||||
* Copyright 2019-2020 GH Cao.
|
||||
* Copyright 2021-2023 Jasmine Iwanek.
|
||||
*/
|
||||
#include <stdatomic.h>
|
||||
#define UNICODE
|
||||
@@ -55,18 +57,20 @@
|
||||
#define TIMER_1SEC 1 /* ID of the one-second timer */
|
||||
|
||||
/* Platform Public data, specific. */
|
||||
HWND hwndMain = NULL, /* application main window */
|
||||
hwndRender = NULL, /* machine render window */
|
||||
hwndRender2 = NULL; /* machine second screen render window */
|
||||
HWND hwndMain = NULL; /* application main window */
|
||||
HWND hwndRender = NULL; /* machine render window */
|
||||
HWND hwndRender2 = NULL; /* machine second screen render window */
|
||||
HMENU menuMain; /* application main menu */
|
||||
RECT oldclip; /* mouse rect */
|
||||
int sbar_height = 23; /* statusbar height */
|
||||
int tbar_height = 23; /* toolbar height */
|
||||
int minimized = 0;
|
||||
int infocus = 1, button_down = 0;
|
||||
int infocus = 1;
|
||||
int button_down = 0;
|
||||
int rctrl_is_lalt = 0;
|
||||
int user_resize = 0;
|
||||
int fixed_size_x = 0, fixed_size_y = 0;
|
||||
int fixed_size_x = 0;
|
||||
int fixed_size_y = 0;
|
||||
int kbd_req_capture = 0;
|
||||
int hide_status_bar = 0;
|
||||
int hide_tool_bar = 0;
|
||||
@@ -77,9 +81,10 @@ extern WCHAR wopenfilestring[512];
|
||||
|
||||
/* Local data. */
|
||||
static int manager_wm = 0;
|
||||
static int save_window_pos = 0, pause_state = 0;
|
||||
static int padded_frame = 0;
|
||||
static int vis = -1;
|
||||
static int save_window_pos = 0;
|
||||
static int pause_state = 0;
|
||||
static int padded_frame = 0;
|
||||
static int vis = -1;
|
||||
|
||||
/* Per Monitor DPI Aware v2 APIs, Windows 10 v1703+ */
|
||||
void *user32_handle = NULL;
|
||||
@@ -268,33 +273,33 @@ ResetAllMenus(void)
|
||||
#ifdef USE_VNC
|
||||
CheckMenuItem(menuMain, IDM_VID_VNC, MF_UNCHECKED);
|
||||
#endif
|
||||
CheckMenuItem(menuMain, IDM_VID_FS_FULL + 0, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_FS_FULL + 1, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_FS_FULL + 2, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_FS_FULL + 3, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_FS_FULL + 4, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_FS_FULL, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_FS_43, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_FS_KEEPRATIO, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_FS_INT, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_SPECIFY_DIM, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_REMEMBER, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_SCALE_1X + 0, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_SCALE_1X + 1, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_SCALE_1X + 2, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_SCALE_1X + 3, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_SCALE_1X + 4, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_SCALE_1X + 5, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_SCALE_1X + 6, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_SCALE_1X + 7, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_SCALE_1X + 8, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_SCALE_1X + 9, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_SCALE_1X, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_SCALE_2X, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_SCALE_3X, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_SCALE_4X, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_SCALE_5X, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_SCALE_6X, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_SCALE_7X, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_SCALE_8X, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_SCALE_9X, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_SCALE_10X, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_HIDPI, MF_UNCHECKED);
|
||||
|
||||
CheckMenuItem(menuMain, IDM_VID_CGACON, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_GRAYCT_601 + 0, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_GRAYCT_601 + 1, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_GRAYCT_601 + 2, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_GRAY_RGB + 0, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_GRAY_RGB + 1, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_GRAY_RGB + 2, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_GRAY_RGB + 3, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_GRAY_RGB + 4, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_GRAYCT_601, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_GRAYCT_709, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_GRAYCT_AVE, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_GRAY_RGB, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_GRAY_MONO, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_GRAY_AMBER, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_GRAY_GREEN, MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_VID_GRAY_WHITE, MF_UNCHECKED);
|
||||
|
||||
CheckMenuItem(menuMain, IDM_ACTION_RCTRL_IS_LALT, rctrl_is_lalt ? MF_CHECKED : MF_UNCHECKED);
|
||||
CheckMenuItem(menuMain, IDM_ACTION_KBD_REQ_CAPTURE, kbd_req_capture ? MF_CHECKED : MF_UNCHECKED);
|
||||
@@ -347,6 +352,12 @@ ResetAllMenus(void)
|
||||
EnableMenuItem(menuMain, IDM_VID_SCALE_2X, MF_GRAYED);
|
||||
EnableMenuItem(menuMain, IDM_VID_SCALE_3X, MF_GRAYED);
|
||||
EnableMenuItem(menuMain, IDM_VID_SCALE_4X, MF_GRAYED);
|
||||
EnableMenuItem(menuMain, IDM_VID_SCALE_5X, MF_GRAYED);
|
||||
EnableMenuItem(menuMain, IDM_VID_SCALE_6X, MF_GRAYED);
|
||||
EnableMenuItem(menuMain, IDM_VID_SCALE_7X, MF_GRAYED);
|
||||
EnableMenuItem(menuMain, IDM_VID_SCALE_8X, MF_GRAYED);
|
||||
EnableMenuItem(menuMain, IDM_VID_SCALE_9X, MF_GRAYED);
|
||||
EnableMenuItem(menuMain, IDM_VID_SCALE_10X, MF_GRAYED);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -463,12 +474,14 @@ input_proc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
break;
|
||||
|
||||
default:
|
||||
return (1);
|
||||
/* return(CallWindowProc((WNDPROC)input_orig_proc,
|
||||
hwnd, message, wParam, lParam)); */
|
||||
return 1;
|
||||
#if 0
|
||||
return(CallWindowProc((WNDPROC)input_orig_proc,
|
||||
hwnd, message, wParam, lParam));
|
||||
#endif
|
||||
}
|
||||
|
||||
return (0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static LRESULT CALLBACK
|
||||
@@ -476,12 +489,14 @@ MainWindowProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
HMENU hmenu;
|
||||
|
||||
int i;
|
||||
RECT rect, *rect_p;
|
||||
int i;
|
||||
RECT rect;
|
||||
RECT *rect_p;
|
||||
|
||||
WINDOWPOS *pos;
|
||||
|
||||
int temp_x, temp_y;
|
||||
int temp_x;
|
||||
int temp_y;
|
||||
|
||||
if (input_proc(hwnd, message, wParam, lParam) == 0)
|
||||
return (0);
|
||||
@@ -654,6 +669,12 @@ MainWindowProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
EnableMenuItem(hmenu, IDM_VID_SCALE_2X, vid_resize ? MF_GRAYED : MF_ENABLED);
|
||||
EnableMenuItem(hmenu, IDM_VID_SCALE_3X, vid_resize ? MF_GRAYED : MF_ENABLED);
|
||||
EnableMenuItem(hmenu, IDM_VID_SCALE_4X, vid_resize ? MF_GRAYED : MF_ENABLED);
|
||||
EnableMenuItem(hmenu, IDM_VID_SCALE_5X, vid_resize ? MF_GRAYED : MF_ENABLED);
|
||||
EnableMenuItem(hmenu, IDM_VID_SCALE_6X, vid_resize ? MF_GRAYED : MF_ENABLED);
|
||||
EnableMenuItem(hmenu, IDM_VID_SCALE_7X, vid_resize ? MF_GRAYED : MF_ENABLED);
|
||||
EnableMenuItem(hmenu, IDM_VID_SCALE_8X, vid_resize ? MF_GRAYED : MF_ENABLED);
|
||||
EnableMenuItem(hmenu, IDM_VID_SCALE_9X, vid_resize ? MF_GRAYED : MF_ENABLED);
|
||||
EnableMenuItem(hmenu, IDM_VID_SCALE_10X, vid_resize ? MF_GRAYED : MF_ENABLED);
|
||||
|
||||
scrnsz_x = unscaled_size_x;
|
||||
scrnsz_y = unscaled_size_y;
|
||||
@@ -750,6 +771,12 @@ MainWindowProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
case IDM_VID_SCALE_2X:
|
||||
case IDM_VID_SCALE_3X:
|
||||
case IDM_VID_SCALE_4X:
|
||||
case IDM_VID_SCALE_5X:
|
||||
case IDM_VID_SCALE_6X:
|
||||
case IDM_VID_SCALE_7X:
|
||||
case IDM_VID_SCALE_8X:
|
||||
case IDM_VID_SCALE_9X:
|
||||
case IDM_VID_SCALE_10X:
|
||||
CheckMenuItem(hmenu, IDM_VID_SCALE_1X + scale, MF_UNCHECKED);
|
||||
scale = LOWORD(wParam) - IDM_VID_SCALE_1X;
|
||||
CheckMenuItem(hmenu, IDM_VID_SCALE_1X + scale, MF_CHECKED);
|
||||
@@ -1136,14 +1163,14 @@ SubWindowProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
return (DefWindowProc(hwnd, message, wParam, lParam));
|
||||
}
|
||||
|
||||
return (0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static LRESULT CALLBACK
|
||||
SDLMainWindowProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
if (input_proc(hwnd, message, wParam, lParam) == 0)
|
||||
return (0);
|
||||
return 0;
|
||||
|
||||
return (DefWindowProc(hwnd, message, wParam, lParam));
|
||||
}
|
||||
@@ -1183,7 +1210,8 @@ ui_init(int nCmdShow)
|
||||
{IDCANCEL, MAKEINTRESOURCE(IDS_2120)}
|
||||
};
|
||||
uint32_t helper_lang;
|
||||
static int fs_on_signal = 0, fs_off_signal = 0;
|
||||
static int fs_on_signal = 0;
|
||||
static int fs_off_signal = 0;
|
||||
|
||||
/* Load DPI related Windows 10 APIs */
|
||||
user32_handle = dynld_module("user32.dll", user32_imports);
|
||||
@@ -1550,7 +1578,7 @@ plat_pause(int p)
|
||||
|
||||
/* Update the actual menu. */
|
||||
CheckMenuItem(menuMain, IDM_ACTION_PAUSE,
|
||||
(dopause) ? MF_CHECKED : MF_UNCHECKED);
|
||||
dopause ? MF_CHECKED : MF_UNCHECKED);
|
||||
|
||||
#ifdef DISCORD
|
||||
/* Update Discord status */
|
||||
@@ -1614,14 +1642,17 @@ plat_mouse_capture(int on)
|
||||
void
|
||||
ui_init_monitor(int monitor_index)
|
||||
{
|
||||
// Nothing done here yet
|
||||
}
|
||||
|
||||
void
|
||||
ui_deinit_monitor(int monitor_index)
|
||||
{
|
||||
// Nothing done here yet
|
||||
}
|
||||
|
||||
void
|
||||
ui_hard_reset_completed(void)
|
||||
{
|
||||
// Nothing done here yet
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user