From aad1179e47e8d68a262c82cef32c25e24b3a96d1 Mon Sep 17 00:00:00 2001 From: SarahW Date: Wed, 10 May 2017 20:55:08 +0100 Subject: [PATCH] --config command line option now bypasses configuration manager. --- src/ibm.h | 1 + src/pc.c | 9 ++++++--- src/win.c | 14 ++++++++++---- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/src/ibm.h b/src/ibm.h index a59c16e..c06010f 100644 --- a/src/ibm.h +++ b/src/ibm.h @@ -533,6 +533,7 @@ extern uint64_t timer_freq; void loadconfig(char *fn); +extern int config_override; extern int infocus; diff --git a/src/pc.c b/src/pc.c index 113fcee..2c38c83 100644 --- a/src/pc.c +++ b/src/pc.c @@ -57,6 +57,8 @@ int vid_resize, vid_api; int cycles_lost = 0; +int config_override = 0; + int clockrate; int insc=0; float mips,flops; @@ -216,7 +218,7 @@ void getpath() void initpc(int argc, char *argv[]) { //char *p; - char *config_file = NULL; +// char *config_file = NULL; int c; // allegro_init(); @@ -237,14 +239,15 @@ void initpc(int argc, char *argv[]) { if ((c+1) == argc) break; - config_file = argv[c+1]; + strncpy(config_file_default, argv[c+1], 256); + config_override = 1; c++; } } // append_filename(config_file_default, pcempath, "pcem.cfg", 511); - loadconfig(config_file); + loadconfig(NULL); pclog("Config loaded\n"); // if (config_file) // saveconfig(); diff --git a/src/win.c b/src/win.c index 66ea519..e839c5c 100644 --- a/src/win.c +++ b/src/win.c @@ -576,8 +576,11 @@ int WINAPI WinMain (HINSTANCE hThisInstance, { quited = 0; - if (!config_selection_open(NULL, 0)) - break; + if (!config_override) + { + if (!config_selection_open(NULL, 0)) + break; + } ghMutex = CreateMutex(NULL, FALSE, NULL); menu = LoadMenu(hThisInstance, TEXT("MainMenu")); @@ -618,6 +621,8 @@ int WINAPI WinMain (HINSTANCE hThisInstance, ghwnd = hwnd; + loadconfig(NULL); + if (vid_resize) SetWindowLong(hwnd, GWL_STYLE, WS_OVERLAPPEDWINDOW|WS_VISIBLE); else @@ -642,8 +647,6 @@ int WINAPI WinMain (HINSTANCE hThisInstance, CheckMenuItem(menu, IDM_BPB_DISABLE, bpb_disable ? MF_CHECKED : MF_UNCHECKED); CheckMenuItem(menu, IDM_VID_DISC, vid_disc_indicator ? MF_CHECKED : MF_UNCHECKED); - loadconfig(NULL); - if (!loadbios()) { if (romset != -1) @@ -757,6 +760,9 @@ int WINAPI WinMain (HINSTANCE hThisInstance, DestroyWindow(hwnd); CloseHandle(ghMutex); + + if (config_override) + break; } closepc();