1
0
mirror of https://github.com/DxWnd/DxWnd.reloaded synced 2024-12-30 09:25:35 +01:00

v2_03_91_src_fx5

Former-commit-id: 5354fc59f0281dcfbedf0226d607cc4501799929
This commit is contained in:
gho tik 2016-10-16 12:47:44 -04:00 committed by Refael ACkermann
parent 6883c264d4
commit 52dcf84601
23 changed files with 298 additions and 44 deletions

View File

@ -347,6 +347,7 @@ char *hexdump(unsigned char *, int);
LRESULT CALLBACK extWindowProc(HWND, UINT, WPARAM, LPARAM); LRESULT CALLBACK extWindowProc(HWND, UINT, WPARAM, LPARAM);
LRESULT CALLBACK extChildWindowProc(HWND, UINT, WPARAM, LPARAM); LRESULT CALLBACK extChildWindowProc(HWND, UINT, WPARAM, LPARAM);
LRESULT CALLBACK extDialogWindowProc(HWND, UINT, WPARAM, LPARAM); LRESULT CALLBACK extDialogWindowProc(HWND, UINT, WPARAM, LPARAM);
LRESULT CALLBACK dw_Hider_Message_Handler(HWND, UINT, WPARAM, LPARAM);
// defines below to condition debug message handling // defines below to condition debug message handling

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:1c0a0bc5af69c9bca35060d300910d4ec21d43d16136375c612d412aee68c925 oid sha256:316eb7122e88fb04f315feae566f9dd25795711486906c18921c705267ead3ea
size 688128 size 688640

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:3d33e2d7ebb3bdfa9da636b6ab7630829f3aacb7b02fd0e07d8cbdba99d9ecae oid sha256:a8ac20985704c056d733ed339eed0f3da3467d780f238d3717fb855f5d8dec20
size 662016 size 662016

View File

@ -9,7 +9,7 @@ notes0=
registry0= registry0=
ver0=0 ver0=0
coord0=0 coord0=0
flag0=136314914 flag0=136314886
flagg0=1207959552 flagg0=1207959552
flagh0=20 flagh0=20
flagi0=138412036 flagi0=138412036
@ -30,3 +30,6 @@ maxres0=-1
swapeffect0=0 swapeffect0=0
maxddinterface0=7 maxddinterface0=7
slowratio0=2 slowratio0=2
monitorid0=-1
initresw0=800
initresh0=600

View File

@ -0,0 +1,35 @@
[target]
title0=Chicken Invaders 2
path0=F:\Games\Chicken Invaders 2\ChickenInvaders2.exe
startfolder0=
launchpath0=
module0=
opengllib0=
notes0=
registry0=
ver0=0
monitorid0=-1
coord0=0
flag0=136314914
flagg0=1207959552
flagh0=20
flagi0=138412036
flagj0=4224
flagk0=65536
flagl0=65536
flagm0=0
tflag0=0
dflag0=0
posx0=50
posy0=50
sizx0=800
sizy0=600
maxfps0=0
initts0=0
winver0=0
maxres0=-1
swapeffect0=0
maxddinterface0=7
slowratio0=2
initresw0=800
initresh0=600

View File

@ -0,0 +1,35 @@
[target]
title0=Daytona USA Deluxe
path0=F:\Games\Daytona USA Deluxe\DAYTONA USA Deluxe.exe
startfolder0=
launchpath0=
module0=
opengllib0=
notes0=
registry0=
ver0=0
monitorid0=-1
coord0=0
flag0=136314914
flagg0=1207959552
flagh0=20
flagi0=134217732
flagj0=4224
flagk0=65536
flagl0=0
flagm0=0
tflag0=0
dflag0=0
posx0=50
posy0=50
sizx0=800
sizy0=600
maxfps0=0
initts0=0
winver0=0
maxres0=-1
swapeffect0=0
maxddinterface0=7
slowratio0=2
initresw0=800
initresh0=600

View File

@ -1,27 +1,27 @@
[target] [target]
title0=Galapagos title0=Galapagos
path0=D:\Games\Galapagos\GALA.EXE path0=F:\Games\Galapagos\GALA.EXE
startfolder0= startfolder0=
launchpath0= launchpath0=
module0= module0=
opengllib0= opengllib0=
notes0=Needs single thread affinity to avoid concurrency crashes.\nBetter add also message pump to avoid process kill by OS while moving the mouse\nNeeds SmackW32 hooking and fix loop flag to be able to show the company logo initial movie notes0=
registry0= registry0=
ver0=0 ver0=0
monitorid0=0 monitorid0=-1
coord0=0 coord0=0
flag0=-1464811354 flag0=137379894
flagg0=1209008128 flagg0=1207959552
flagh0=532 flagh0=33300
flagi0=138412036 flagi0=138412036
flagj0=201326720 flagj0=469766272
flagk0=65536 flagk0=67584
flagl0=67108880 flagl0=25231376
flagm0=0 flagm0=0
tflag0=0 tflag0=0
dflag0=0 dflag0=0
posx0=50 posx0=150
posy0=50 posy0=150
sizx0=800 sizx0=800
sizy0=600 sizy0=600
maxfps0=0 maxfps0=0
@ -30,6 +30,6 @@ winver0=0
maxres0=-1 maxres0=-1
swapeffect0=0 swapeffect0=0
maxddinterface0=7 maxddinterface0=7
slowratio0=1 slowratio0=2
initresw0=0 initresw0=640
initresh0=0 initresh0=480

View File

@ -0,0 +1,33 @@
[target]
title0=Jeff Wayne's - The War of the Worlds
path0=F:\Games\Jeff Wayne's - The War of the Worlds\Wow.exe
startfolder0=
launchpath0=
module0=
opengllib0=
notes0=
registry0=
ver0=0
monitorid0=-1
coord0=0
flag0=681574434
flagg0=1207959552
flagh0=20
flagi0=-2009071612
flagj0=4224
flagk0=65536
flagl0=0
flagm0=0
tflag0=0
dflag0=0
posx0=50
posy0=50
sizx0=800
sizy0=600
maxfps0=0
initts0=0
winver0=0
maxres0=-1
swapeffect0=0
maxddinterface0=7
slowratio0=2

View File

@ -0,0 +1,35 @@
[target]
title0=O.D.T. Escape Or Die Trying (SW 640X480)
path0=F:\Games\ODT\ODT.exe
startfolder0=
launchpath0=F:\Games\ODT\ODT.exe 640 480 FALSE DISPLAY (SW)
module0=
opengllib0=
notes0=
registry0=
ver0=0
monitorid0=0
coord0=0
flag0=134217826
flagg0=1207959552
flagh0=20
flagi0=138412036
flagj0=128
flagk0=0
flagl0=0
flagm0=0
tflag0=0
dflag0=0
posx0=50
posy0=50
sizx0=800
sizy0=600
maxfps0=0
initts0=0
winver0=0
maxres0=-1
swapeffect0=0
maxddinterface0=7
slowratio0=1
initresw0=0
initresh0=0

View File

@ -0,0 +1,35 @@
[target]
title0=O.D.T. Escape Or Die Trying (HW 640X480)
path0=F:\Games\ODT\ODT.exe
startfolder0=
launchpath0=F:\Games\ODT\ODT.exe 640 480 TRUE DISPLAY (HW)
module0=
opengllib0=
notes0=
registry0=”&G
ver0=0
monitorid0=0
coord0=0
flag0=134217826
flagg0=1207959552
flagh0=20
flagi0=138412036
flagj0=128
flagk0=0
flagl0=0
flagm0=0
tflag0=0
dflag0=0
posx0=50
posy0=50
sizx0=800
sizy0=600
maxfps0=0
initts0=0
winver0=0
maxres0=-1
swapeffect0=0
maxddinterface0=7
slowratio0=1
initresw0=0
initresh0=0

View File

@ -0,0 +1,35 @@
[target]
title0=V-Rally 2 Expert Edition
path0=F:\Games\V-Rally 2 Expert Edition\V-Rally2 Expert Edition\Vrally2.exe
startfolder0=
launchpath0=
module0=
opengllib0=
notes0=Note: the game detects Alt-tabs and terminates. \nThen the "do not notify on task switch" is mandatory, but also minimizing is not supported.
registry0=
ver0=0
monitorid0=-1
coord0=0
flag0=136314931
flagg0=1207959808
flagh0=20
flagi0=138412036
flagj0=4224
flagk0=65536
flagl0=1048576
flagm0=0
tflag0=0
dflag0=0
posx0=50
posy0=50
sizx0=800
sizy0=600
maxfps0=0
initts0=0
winver0=0
maxres0=-1
swapeffect0=0
maxddinterface0=7
slowratio0=2
initresw0=800
initresh0=600

View File

@ -1,19 +1,6 @@
OnRun idx=3 prog="D:\Games\Barbie Riding Club\Program\Barbie Riding Club.exe" OnRun idx=0 prog="G:\Games\Nascar Racing 3\NASCAR Racing 3.exe"
setwindowshook mode setwindowshook mode
OnRun idx=3 prog="D:\Games\Barbie Riding Club\Program\Barbie Riding Club.exe" OnRun idx=0 prog="G:\Games\Nascar Racing 3\NASCAR Racing 3.exe"
setwindowshook mode setwindowshook mode
OnRun idx=5 prog="D:\Games\The Creed\Creed.exe" OnRun idx=0 prog="G:\Games\Nascar Racing 3\NASCAR Racing 3.exe"
export virtual registry
setwindowshook mode
OnRun idx=4 prog="D:\Games\The Creed (SW DEMO)\DemoCreed.exe"
setwindowshook mode
OnRun idx=4 prog="D:\Games\The Creed (SW DEMO)\DemoCreed.exe"
setwindowshook mode
OnRun idx=5 prog="D:\Games\The Creed ( HW DEMO)\DemoCreed.exe"
setwindowshook mode
OnRun idx=4 prog="D:\Games\The Creed (SW DEMO)\DemoCreed.exe"
setwindowshook mode
OnRun idx=5 prog="D:\Games\The Creed ( HW DEMO)\DemoCreed.exe"
setwindowshook mode
OnRun idx=5 prog="D:\Games\The Creed ( HW DEMO)\DemoCreed.exe"
setwindowshook mode setwindowshook mode

View File

@ -1293,9 +1293,12 @@ fix: manages the possibility or ValidateRect receiving a NULL RECT pointer - fix
add: auto-blit mode in SmakW32 frame loop - shows "Galapagos" company logo intro movie add: auto-blit mode in SmakW32 frame loop - shows "Galapagos" company logo intro movie
fix: force stop blitting on window minimize event - fixes "Galapagos" and many others .... fix: force stop blitting on window minimize event - fixes "Galapagos" and many others ....
v2.03.91.fx1-4: v2.03.91.fx1-5:
fix: eliminated LOC causing bad window sizing fix: eliminated LOC causing bad window sizing
fix: better desktop hider management fix: better desktop hider management
fix: DC emulation object leakage - fixes "Yu No" leakage fix: DC emulation object leakage - fixes "Yu No" leakage
fix: USER32 EndPaint DC leakage - fixes "Yu No" leakage fix: USER32 EndPaint DC leakage - fixes "Yu No" leakage
fix: window position problems fix: window position problems
fix: GUI auto hide mode enabled and disabled without need of GUI restart
fix: ddraw surface stack policy. Recovers "Warhammer 40K Rites of War" after v2.03.83 fix.
add: /q quiet mode, no message dialogs on screen

View File

@ -6,6 +6,8 @@
#include "syslibs.h" #include "syslibs.h"
#include "dxhelper.h" #include "dxhelper.h"
//#define FOUR_WINDOWS_STRIPED_HIDER
/**************************************************************************** /****************************************************************************
* Function Name : gShowHideTaskBar() * * Function Name : gShowHideTaskBar() *
* Parameters : BOOL bHide (flag to toggle Show/Hide of Taskbar) * * Parameters : BOOL bHide (flag to toggle Show/Hide of Taskbar) *
@ -53,9 +55,10 @@ void gShowHideTaskBar(BOOL bHide /*=FALSE*/)
static bool quit = false; static bool quit = false;
static HWND wHider=0; static HWND wHider=0;
static RECT wDesktop;
#ifdef FOUR_WINDOWS_STRIPED_HIDER #ifdef FOUR_WINDOWS_STRIPED_HIDER
static LRESULT CALLBACK Hider_Message_Handler(HWND hwnd, UINT umsg, WPARAM wparam, LPARAM lparam) LRESULT CALLBACK dw_Hider_Message_Handler(HWND hwnd, UINT umsg, WPARAM wparam, LPARAM lparam)
{ {
switch(umsg) switch(umsg)
{ {
@ -70,8 +73,12 @@ static LRESULT CALLBACK Hider_Message_Handler(HWND hwnd, UINT umsg, WPARAM wpara
return (*pDefWindowProcA)(hwnd, umsg, wparam, lparam); return (*pDefWindowProcA)(hwnd, umsg, wparam, lparam);
} }
#else #else
static LRESULT CALLBACK Hider_Message_Handler(HWND hwnd, UINT umsg, WPARAM wparam, LPARAM lparam) LRESULT CALLBACK dw_Hider_Message_Handler(HWND hwnd, UINT umsg, WPARAM wparam, LPARAM lparam)
{ {
extern void ExplainMsg(char *, HWND, UINT, WPARAM, LPARAM);
// ExplainMsg("HIDER", hwnd, umsg, wparam, lparam);
//LRESULT ret; //LRESULT ret;
switch(umsg) switch(umsg)
{ {
@ -86,6 +93,7 @@ static LRESULT CALLBACK Hider_Message_Handler(HWND hwnd, UINT umsg, WPARAM wpara
// OutTrace("HIDER: msg=%x(%s) w/lparam= %x-%x\n", umsg, ExplainWinMessage(umsg), wparam, lparam); // OutTrace("HIDER: msg=%x(%s) w/lparam= %x-%x\n", umsg, ExplainWinMessage(umsg), wparam, lparam);
if(hwnd == wHider){ if(hwnd == wHider){
WINDOWPOS *wp;
switch(umsg){ switch(umsg){
case WM_NOTIFY: case WM_NOTIFY:
case WM_SETFOCUS: case WM_SETFOCUS:
@ -103,6 +111,14 @@ static LRESULT CALLBACK Hider_Message_Handler(HWND hwnd, UINT umsg, WPARAM wpara
(*pSetWindowPos)(dxw.GethWnd(), HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE|SWP_NOOWNERZORDER|SWP_NOSENDCHANGING); (*pSetWindowPos)(dxw.GethWnd(), HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE|SWP_NOOWNERZORDER|SWP_NOSENDCHANGING);
return 0; return 0;
break; break;
case WM_WINDOWPOSCHANGING:
case WM_WINDOWPOSCHANGED:
wp = (WINDOWPOS *)lparam;
wp->x = wDesktop.left;
wp->y = wDesktop.top;
wp->cx = wDesktop.right - wDesktop.left;
wp->cy = wDesktop.bottom - wDesktop.top;
break;
default: default:
break; break;
} }
@ -142,7 +158,7 @@ static HINSTANCE RegisterHiderWindow()
WndClsEx.cbSize = sizeof(WNDCLASSEX); WndClsEx.cbSize = sizeof(WNDCLASSEX);
WndClsEx.style = 0; WndClsEx.style = 0;
WndClsEx.lpfnWndProc = Hider_Message_Handler; //DefWindowProc; WndClsEx.lpfnWndProc = dw_Hider_Message_Handler; //DefWindowProc;
WndClsEx.cbClsExtra = 0; WndClsEx.cbClsExtra = 0;
WndClsEx.cbWndExtra = 0; WndClsEx.cbWndExtra = 0;
WndClsEx.hIcon = LoadIcon(NULL, IDI_APPLICATION); WndClsEx.hIcon = LoadIcon(NULL, IDI_APPLICATION);
@ -274,7 +290,7 @@ void dxwCore::HideDesktop(HWND hwnd)
{ {
static BOOL DoOnce=TRUE; static BOOL DoOnce=TRUE;
static ATOM aClass; static ATOM aClass;
RECT wRect, wDesktop; RECT wRect;
static HINSTANCE hinst=NULL; static HINSTANCE hinst=NULL;
if(DoOnce){ if(DoOnce){
@ -302,7 +318,7 @@ void dxwCore::HideDesktop(HWND hwnd)
if(!wHider) { if(!wHider) {
wHider=(*pCreateWindowExA)(0, "dxwnd:hider", "hider", 0, 0, 0, 0, 0, hParent, NULL, hinst, NULL); wHider=(*pCreateWindowExA)(0, "dxwnd:hider", "hider", 0, 0, 0, 0, 0, hParent, NULL, hinst, NULL);
if(!wHider) { if(!wHider) {
OutTrace("HideDesktop: CreateWindowEx ERROR hwnd=%x err=%d\n", hwnd, GetLastError()); OutTrace("HideDesktop: CreateWindowEx ERROR hwnd=%x parent=%x err=%d\n", hwnd, hParent, GetLastError());
return; return;
} }
(*pSetWindowLongA)(wHider, GWL_STYLE, 0); (*pSetWindowLongA)(wHider, GWL_STYLE, 0);

View File

@ -652,7 +652,8 @@ void HookWindowProc(HWND hwnd)
// don't hook twice .... // don't hook twice ....
if ((pWindowProc == extWindowProc) || if ((pWindowProc == extWindowProc) ||
(pWindowProc == extChildWindowProc) || (pWindowProc == extChildWindowProc) ||
(pWindowProc == extDialogWindowProc)){ (pWindowProc == extDialogWindowProc) ||
(pWindowProc == dw_Hider_Message_Handler)){
// hooked already !!! // hooked already !!!
OutTraceDW("GetWindowLong: hwnd=%x WindowProc HOOK already in place\n", hwnd); OutTraceDW("GetWindowLong: hwnd=%x WindowProc HOOK already in place\n", hwnd);
return; return;

View File

@ -27,7 +27,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "TlHelp32.h" #include "TlHelp32.h"
#define VERSION "2.03.91.fx4" #define VERSION "2.03.91.fx5"
#define DDTHREADLOCK 1 #define DDTHREADLOCK 1
//#define LOCKTHREADS //#define LOCKTHREADS

Binary file not shown.

View File

@ -91,8 +91,20 @@ void dxwSStack::ClearSurfaceList()
SurfaceDB[i].uRole = 0; SurfaceDB[i].uRole = 0;
SurfaceDB[i].uVersion = 0; SurfaceDB[i].uVersion = 0;
} }
lpDDSPrimary = NULL; // v2.03.91.fx5: emptying the list entirely is no good for "Warhammer 40K Rites of War"
lpDDSBackBuffer = NULL; // better leave the last used primary and backbuffer surfaces.
if(lpDDSPrimary){
SurfaceDB[0].lpdds = lpDDSPrimary;
SurfaceDB[0].uRef = TRUE;
SurfaceDB[0].uRole = SURFACE_ROLE_PRIMARY;
SurfaceDB[0].uVersion = 0;
}
if(lpDDSBackBuffer){
SurfaceDB[1].lpdds = lpDDSBackBuffer;
SurfaceDB[1].uRef = TRUE;
SurfaceDB[1].uRole = SURFACE_ROLE_BACKBUFFER;
SurfaceDB[1].uVersion = 0;
}
} }
void dxwSStack::UnrefSurface(LPDIRECTDRAWSURFACE ps) void dxwSStack::UnrefSurface(LPDIRECTDRAWSURFACE ps)

View File

@ -848,6 +848,13 @@ LONG WINAPI extSetWindowLong(HWND hwnd, int nIndex, LONG dwNewLong, SetWindowLon
!(dxw.dwFlags6 & NOWINDOWHOOKS)){ // v2.03.41 - debug flag !(dxw.dwFlags6 & NOWINDOWHOOKS)){ // v2.03.41 - debug flag
WNDPROC lres; WNDPROC lres;
WNDPROC OldProc; WNDPROC OldProc;
// fix ....
extern LRESULT CALLBACK dw_Hider_Message_Handler(HWND, UINT, WPARAM, LPARAM);
if(dwNewLong==(LONG)dw_Hider_Message_Handler) {
return (*pSetWindowLong)(hwnd, nIndex, (LONG)dw_Hider_Message_Handler);
}
// GPL fix // GPL fix
if(dxw.IsRealDesktop(hwnd) && dxw.Windowize) { if(dxw.IsRealDesktop(hwnd) && dxw.Windowize) {
hwnd=dxw.GethWnd(); hwnd=dxw.GethWnd();
@ -1459,6 +1466,10 @@ static void HookChildWndProc(HWND hwnd, DWORD dwStyle, LPCTSTR ApiName)
if(dxw.dwFlags6 & NOWINDOWHOOKS) return; if(dxw.dwFlags6 & NOWINDOWHOOKS) return;
pWindowProc = (WNDPROC)(*pGetWindowLong)(hwnd, GWL_WNDPROC); pWindowProc = (WNDPROC)(*pGetWindowLong)(hwnd, GWL_WNDPROC);
extern LRESULT CALLBACK dw_Hider_Message_Handler(HWND, UINT, WPARAM, LPARAM);
if(pWindowProc==dw_Hider_Message_Handler) return;
if((pWindowProc == extWindowProc) || if((pWindowProc == extWindowProc) ||
(pWindowProc == extChildWindowProc) || (pWindowProc == extChildWindowProc) ||
(pWindowProc == extDialogWindowProc)){ // avoid recursions (pWindowProc == extDialogWindowProc)){ // avoid recursions

View File

@ -8,6 +8,7 @@
extern char gInitPath[]; extern char gInitPath[];
extern BOOL gbDebug; extern BOOL gbDebug;
extern BOOL gAutoHideMode;
Key_Type FKeys[] = { Key_Type FKeys[] = {
{IDC_KEY_LABEL1, "Time toggle", IDC_KEY_COMBO1, "timetoggle", 0}, {IDC_KEY_LABEL1, "Time toggle", IDC_KEY_COMBO1, "timetoggle", 0},
@ -225,4 +226,5 @@ void CGlobalSettings::OnOK()
} }
//(CDxwndhostView *)(this->GetParent())->UpdateHotKeys(); //(CDxwndhostView *)(this->GetParent())->UpdateHotKeys();
gbDebug = m_DebugMode; gbDebug = m_DebugMode;
gAutoHideMode = m_AutoHideMode;
} }

View File

@ -2,10 +2,14 @@
#include <stdio.h> #include <stdio.h>
#include <stdarg.h> #include <stdarg.h>
extern BOOL gQuietMode;
int MessageBoxLang(UINT iText, UINT iCaption, UINT uType) int MessageBoxLang(UINT iText, UINT iCaption, UINT uType)
{ {
WCHAR sBuffer[1024+1]; WCHAR sBuffer[1024+1];
WCHAR sCaption[48+1]; WCHAR sCaption[48+1];
if (gQuietMode) return MB_OK;
LoadStringW(AfxGetResourceHandle(), iText, (LPWSTR)&sBuffer, sizeof(sBuffer)); LoadStringW(AfxGetResourceHandle(), iText, (LPWSTR)&sBuffer, sizeof(sBuffer));
LoadStringW(AfxGetResourceHandle(), iCaption, (LPWSTR)&sCaption, sizeof(sCaption)); LoadStringW(AfxGetResourceHandle(), iCaption, (LPWSTR)&sCaption, sizeof(sCaption));
@ -19,6 +23,7 @@ int MessageBoxLangArg(UINT iText, UINT iCaption, UINT uType, ...)
WCHAR sFormat[1024+1]; WCHAR sFormat[1024+1];
WCHAR sCaption[48+1]; WCHAR sCaption[48+1];
if (gQuietMode) return MB_OK;
LoadStringW(AfxGetResourceHandle(), iText, (LPWSTR)&sFormat, sizeof(sFormat)); LoadStringW(AfxGetResourceHandle(), iText, (LPWSTR)&sFormat, sizeof(sFormat));
LoadStringW(AfxGetResourceHandle(), iCaption, (LPWSTR)&sCaption, sizeof(sCaption)); LoadStringW(AfxGetResourceHandle(), iCaption, (LPWSTR)&sCaption, sizeof(sCaption));

View File

@ -37,6 +37,7 @@ UINT m_InitialState = DXW_ACTIVE;
BOOL gbDebug = FALSE; BOOL gbDebug = FALSE;
BOOL gTransientMode = FALSE; BOOL gTransientMode = FALSE;
BOOL gAutoHideMode = FALSE; BOOL gAutoHideMode = FALSE;
BOOL gQuietMode = FALSE;
int iProgIndex; int iProgIndex;
extern char m_ConfigFileName[20+1] = "dxwnd.ini"; extern char m_ConfigFileName[20+1] = "dxwnd.ini";
@ -111,6 +112,10 @@ void CNewCommandLineInfo::ParseParam(LPCTSTR lpszParam, BOOL bFlag, BOOL bLast)
iProgIndex = atoi(&p[2]); iProgIndex = atoi(&p[2]);
return; return;
} }
if (sParam.MakeLower() == "q"){
// (Q)uiet mode: no message dialogs on screen
gQuietMode = TRUE;
}
} }
// Call the base class to ensure proper command line processing // Call the base class to ensure proper command line processing

Binary file not shown.