Skip to content
Permalink
Browse files
Expose busyloop for Project64 API.
  • Loading branch information
Fluvian authored and ata4 committed Apr 11, 2022
1 parent f7bd9aa commit 7ff7ae7df69e559aa3c39f71dd9a9b2ffe37a7b2
Showing with 7 additions and 0 deletions.
  1. +7 −0 src/plugin/zilmar/config.c
  2. BIN src/plugin/zilmar/config.rc
  3. BIN src/plugin/zilmar/resource.h
@@ -28,6 +28,7 @@
#define KEY_VI_EXCLUSIVE "exclusive"
#define KEY_VI_VSYNC "vsync"
#define KEY_VI_INT_SCALING "integer_scaling"
#define KEY_BUSYLOOP "busyloop"

#define KEY_DP_COMPAT "compat"

@@ -51,6 +52,7 @@ static HWND dlg_check_vi_overscan;
static HWND dlg_check_vi_exclusive;
static HWND dlg_check_vi_vsync;
static HWND dlg_check_vi_integer_scaling;
static HWND dlg_check_vi_busyloop;
static HWND dlg_combo_dp_compat;
static HWND dlg_spin_workers;
static HWND dlg_edit_workers;
@@ -122,6 +124,7 @@ INT_PTR CALLBACK config_dialog_proc(HWND hwnd, UINT iMessage, WPARAM wParam, LPA
CONFIG_DLG_INIT_CHECKBOX(IDC_CHECK_VI_EXCLUSIVE, dlg_check_vi_exclusive, config.vi.exclusive);
CONFIG_DLG_INIT_CHECKBOX(IDC_CHECK_VI_VSYNC, dlg_check_vi_vsync, config.vi.vsync);
CONFIG_DLG_INIT_CHECKBOX(IDC_CHECK_VI_INTEGER_SCALING, dlg_check_vi_integer_scaling, config.vi.integer_scaling);
CONFIG_DLG_INIT_CHECKBOX(IDC_CHECK_BUSYLOOP, dlg_check_vi_busyloop, config.busyloop);

dlg_edit_workers = GetDlgItem(hwnd, IDC_EDIT_WORKERS);
SetDlgItemInt(hwnd, IDC_EDIT_WORKERS, config.num_workers, FALSE);
@@ -163,6 +166,7 @@ INT_PTR CALLBACK config_dialog_proc(HWND hwnd, UINT iMessage, WPARAM wParam, LPA
config.vi.exclusive = SendMessage(dlg_check_vi_exclusive, BM_GETCHECK, 0, 0);
config.vi.vsync = SendMessage(dlg_check_vi_vsync, BM_GETCHECK, 0, 0);
config.vi.integer_scaling = SendMessage(dlg_check_vi_integer_scaling, BM_GETCHECK, 0, 0);
config.busyloop = SendMessage(dlg_check_vi_busyloop, BM_GETCHECK, 0, 0);
config.dp.compat = SendMessage(dlg_combo_dp_compat, CB_GETCURSEL, 0, 0);
config.parallel = SendMessage(dlg_check_multithread, BM_GETCHECK, 0, 0);
config.num_workers = GetDlgItemInt(hwnd, IDC_EDIT_WORKERS, FALSE, FALSE);
@@ -209,6 +213,8 @@ static void config_handle(const char* key, const char* value, const char* sectio
config.vi.vsync = strtol(value, NULL, 0) != 0;
} else if (!_strcmpi(key, KEY_VI_INT_SCALING)) {
config.vi.integer_scaling = strtol(value, NULL, 0) != 0;
} else if (!_strcmpi(key, KEY_BUSYLOOP)) {
config.busyloop = strtol(value, NULL, 0) != 0;
}
} else if (!_strcmpi(section, SECTION_DISPLAY_PROCESSOR)) {
if (!_strcmpi(key, KEY_DP_COMPAT)) {
@@ -319,6 +325,7 @@ bool config_save(void)
config_write_int32(fp, KEY_VI_EXCLUSIVE, config.vi.exclusive);
config_write_int32(fp, KEY_VI_VSYNC, config.vi.vsync);
config_write_int32(fp, KEY_VI_INT_SCALING, config.vi.integer_scaling);
config_write_int32(fp, KEY_BUSYLOOP, config.busyloop);
fputs("\n", fp);

config_write_section(fp, SECTION_DISPLAY_PROCESSOR);
BIN +262 Bytes (100%) src/plugin/zilmar/config.rc
Binary file not shown.
BIN +92 Bytes (100%) src/plugin/zilmar/resource.h
Binary file not shown.

0 comments on commit 7ff7ae7

Please sign in to comment.