From 320d894ae92cb268ebb4135db90225439d8f3469 Mon Sep 17 00:00:00 2001 From: gho tik Date: Sun, 22 Jun 2014 12:39:24 -0400 Subject: [PATCH] v2_02_80_src Former-commit-id: cf396b856b5c6d8078dcf79e5dbbd76acdd9ab22 --- Include/dxwnd.h | 1 + build/Resources_CN.dll | 3 + build/dxwnd.cn.bat | 2 + build/dxwnd.cn.lnk | Bin 0 -> 1152 bytes build/dxwnd.dll | 4 +- build/dxwnd.exe | 4 +- build/dxwnd.ini | 32 +++ build/exports/Actua Soccer 3.dxw | 9 +- build/exports/Battle Realms.dxw | 27 -- build/exports/Darkened Skye.dxw | 3 +- build/exports/Diablo.dxw | 7 +- build/exports/Dungeon Keeper II.dxw | 7 +- build/exports/Hollywood Monsters.dxw | 3 +- build/exports/International Football 2000.dxw | 5 +- build/exports/Kohan II Kings of War.dxw | 7 +- build/exports/Magic & Mayhem.dxw | 9 +- build/exports/O.R.B. Offword Rescue Base.dxw | 7 +- build/exports/Railroad Tycoon II.dxw | 9 +- build/exports/Rollcage 2 (D3D).dxw | 2 +- build/exports/Total Annihilation Kingdoms.dxw | 9 +- build/exports/dxwnd.ini | 8 +- build/readme-relnotes.txt | 9 +- dll/ddraw.cpp | 37 ++- dll/dinput.cpp | 73 ++++- dll/dxhelper.cpp | 16 ++ dll/dxhelper.h | 1 + dll/dxwcore.cpp | 2 +- dll/dxwnd.aps | Bin 37664 -> 37664 bytes dll/dxwnd.cpp | 2 +- dll/dxwnd.vs2008.suo | Bin 132096 -> 141312 bytes dll/kernel32.cpp | 48 +++- dll/syslibs.h | 3 + host/CppUACSelfElevation.cpp | 218 --------------- host/MainFrm.cpp | 4 +- host/MessageBox.cpp | 38 +++ host/Resource.h | Bin 12277 -> 28502 bytes host/TabCompat.cpp | 1 + host/TargetDlg.cpp | 1 + host/TargetDlg.h | 1 + host/dxwnd.ini | 29 -- host/dxwndhost.aps | Bin 173124 -> 153432 bytes host/dxwndhost.cpp | 32 ++- host/dxwndhost.rc | Bin 40599 -> 84982 bytes host/dxwndhost.rc2.txt | Bin 0 -> 80738 bytes host/dxwndhost.vs2008.sln | 12 + host/dxwndhost.vs2008.suo | Bin 175104 -> 197632 bytes host/dxwndhost.vs2008.vcproj | 6 +- host/dxwndhostView.cpp | 179 ++++++------ host/palette.bmp | Bin 246 -> 0 bytes host/res/smallicons2.bmp | Bin 3126 -> 0 bytes locale/cn/Release/BuildLog.htm | Bin 0 -> 6002 bytes .../Resources_CN.dll.intermediate.manifest | 10 + locale/cn/Release/Resources_CN.res | Bin 0 -> 121452 bytes locale/cn/Release/mt.dep | 1 + locale/cn/Resources_Ch.suo | Bin 0 -> 7680 bytes locale/cn/Resources_Cn.aps | Bin 0 -> 148804 bytes locale/cn/Resources_Cn.ncb | Bin 0 -> 84992 bytes locale/cn/Resources_Cn.rc | Bin 0 -> 80380 bytes locale/cn/Resources_Cn.sln | 20 ++ locale/cn/Resources_Cn.suo | Bin 0 -> 7168 bytes locale/cn/Resources_Cn.vcproj | 259 ++++++++++++++++++ release/Resources_CN.pdb | Bin 0 -> 19456 bytes 62 files changed, 675 insertions(+), 485 deletions(-) create mode 100644 build/Resources_CN.dll create mode 100644 build/dxwnd.cn.bat create mode 100644 build/dxwnd.cn.lnk delete mode 100644 build/exports/Battle Realms.dxw create mode 100644 host/MessageBox.cpp delete mode 100644 host/dxwnd.ini create mode 100644 host/dxwndhost.rc2.txt delete mode 100644 host/palette.bmp delete mode 100644 host/res/smallicons2.bmp create mode 100644 locale/cn/Release/BuildLog.htm create mode 100644 locale/cn/Release/Resources_CN.dll.intermediate.manifest create mode 100644 locale/cn/Release/Resources_CN.res create mode 100644 locale/cn/Release/mt.dep create mode 100644 locale/cn/Resources_Ch.suo create mode 100644 locale/cn/Resources_Cn.aps create mode 100644 locale/cn/Resources_Cn.ncb create mode 100644 locale/cn/Resources_Cn.rc create mode 100644 locale/cn/Resources_Cn.sln create mode 100644 locale/cn/Resources_Cn.suo create mode 100644 locale/cn/Resources_Cn.vcproj create mode 100644 release/Resources_CN.pdb diff --git a/Include/dxwnd.h b/Include/dxwnd.h index 32d12bf..54565fd 100644 --- a/Include/dxwnd.h +++ b/Include/dxwnd.h @@ -144,6 +144,7 @@ #define HOTPATCHALWAYS 0x10000000 // Force hot patching to every call #define NOD3DRESET 0x20000000 // Disables D3D8/9 D3DDevice::Reset method #define OVERRIDEREGISTRY 0x40000000 // same as EMULATEREGISTRY, but fake keys takeprecedence +#define HIDECDROMEMPTY 0x80000000 // hide empty CDROM drivers // logging Tflags DWORD: #define OUTTRACE 0x00000001 // enables tracing to dxwnd.log in general diff --git a/build/Resources_CN.dll b/build/Resources_CN.dll new file mode 100644 index 0000000..87dc011 --- /dev/null +++ b/build/Resources_CN.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b29905bf73aea4baf7a3ca50fc224d6e6f33478efcd19c06230439d48499ed54 +size 125952 diff --git a/build/dxwnd.cn.bat b/build/dxwnd.cn.bat new file mode 100644 index 0000000..ff63282 --- /dev/null +++ b/build/dxwnd.cn.bat @@ -0,0 +1,2 @@ +echo off +start "" "dxwnd.exe" "/lang=cn" \ No newline at end of file diff --git a/build/dxwnd.cn.lnk b/build/dxwnd.cn.lnk new file mode 100644 index 0000000000000000000000000000000000000000..32ee7b1c554b5711d935cfec043edffdf614e698 GIT binary patch literal 1152 zcmbVKT}V@L6#va6mPuW4!TKO)urP&rHw@NFnCwm=R*r;}x;f|WO>V3u&X4s_(A$K1 zls>=^DNE=zdZGW{tHerjEd^`%oGcbMa?lo4v%ACdY#Whk zH2IX6+yk9_opPKc10?%M_*vMR?1ESVc9Co$ssH-=nM78JkHT7;!iB9uvoC8o!E%e1S9AqhEupnkhcMIi-gSE7wwZv z?kDR#d!+lNnxX4=i;vtCuOmTI+4&s|aER{2l5kQzNf$=xmn7~J)NP#XCF*5zv6C!O zPRG{#op+oG;y($dDhtlR9UKg@Drd55kTB3M^7Hp0O!qwak!!q{K7Zf@#d#qG(EVhs zsaWaitForVerticalBlank(DDWAITVB_BLOCKEND , 0); if(dxw.dwFlags4 & NOFLIPEMULATION){ + HRESULT res2; // create a temporary working surface memset(&ddsd, 0, sizeof(ddsd)); ddsd.dwSize = SurfaceDescrSize(lpdds); - (*pGetSurfaceDescMethod(lpdds))((LPDIRECTDRAWSURFACE2)lpDDSBack, &ddsd); - ddsd.dwFlags &= ~DDSD_PITCH; - res=(*pCreateSurfaceMethod(lpdds))(lpPrimaryDD, &ddsd, &lpddsTmp, NULL); - if(res) OutTraceE("CreateSurface: ERROR %x(%s) at %d\n", res, ExplainDDError(res), __LINE__); + // v2.02.80: the BackBuffer may not exist? see "HellCopter" + if(lpDDSBack){ + (*pGetSurfaceDescMethod(lpdds))((LPDIRECTDRAWSURFACE2)lpDDSBack, &ddsd); + ddsd.dwFlags &= ~DDSD_PITCH; + } + else{ + ddsd.dwFlags = (DDSD_HEIGHT | DDSD_WIDTH | DDSD_CAPS); + ddsd.ddsCaps.dwCaps = (DDSCAPS_OFFSCREENPLAIN); + ddsd.dwHeight = dxw.GetScreenHeight(); + ddsd.dwWidth = dxw.GetScreenWidth(); + } + res2=(*pCreateSurfaceMethod(lpdds))(lpPrimaryDD, &ddsd, &lpddsTmp, NULL); + if(res2) { + OutTraceE("CreateSurface: ERROR %x(%s) at %d\n", res2, ExplainDDError(res2), __LINE__); + OutTrace("Size=%d lpPrimaryDD=%x lpDDSBack=%x\n", ddsd.dwSize, lpPrimaryDD, lpDDSBack); + LogSurfaceAttributes((LPDDSURFACEDESC)&ddsd, "[FlipBuf]", __LINE__); + //dxw.dwFlags4 &= ~NOFLIPEMULATION; + } //OutTrace("DEBUG: copied surface size=(%dx%d)\n", ddsd.dwWidth, ddsd.dwHeight); // copy front buffer if(dxw.dwFlags1 & EMULATESURFACE){ // in emulated mode, the primary surface is virtual and you can pick it all // needed for "Gruntz" - res= (*pBlt)(lpddsTmp, NULL, lpdds, NULL, DDBLT_WAIT, NULL); - if(res) BlitError(res, NULL, NULL, __LINE__); + res2= (*pBlt)(lpddsTmp, NULL, lpdds, NULL, DDBLT_WAIT, NULL); + if(res2) BlitError(res2, NULL, NULL, __LINE__); } else { // in no-emulated mode, the primary surface is the whole screen, so you have to pick... @@ -3374,8 +3389,8 @@ HRESULT WINAPI extFlip(LPDIRECTDRAWSURFACE lpdds, LPDIRECTDRAWSURFACE lpddssrc, clip=dxw.GetScreenRect(); else clip=dxw.GetUnmappedScreenRect(); - res= (*pBlt)(lpddsTmp, NULL, lpdds, &clip, DDBLT_WAIT, NULL); - if(res) BlitError(res, &clip, NULL, __LINE__); + res2= (*pBlt)(lpddsTmp, NULL, lpdds, &clip, DDBLT_WAIT, NULL); + if(res2) BlitError(res2, &clip, NULL, __LINE__); } } @@ -3404,9 +3419,10 @@ HRESULT WINAPI extFlip(LPDIRECTDRAWSURFACE lpdds, LPDIRECTDRAWSURFACE lpddssrc, } if(dxw.dwFlags4 & NOFLIPEMULATION){ + HRESULT res2; // restore flipped backbuffer and delete temporary surface - res= (*pBlt)(lpddssrc, NULL, lpddsTmp, NULL, DDBLT_WAIT, NULL); - if(res) OutTraceE("Blt: ERROR %x(%s) at %d", res, ExplainDDError(res), __LINE__); + res2= (*pBlt)(lpddssrc, NULL, lpddsTmp, NULL, DDBLT_WAIT, NULL); + if(res2) OutTraceE("Blt: ERROR %x(%s) at %d\n", res2, ExplainDDError(res2), __LINE__); (*pReleaseS)(lpddsTmp); } @@ -4114,6 +4130,7 @@ HRESULT WINAPI extEnumDisplayModes(EnumDisplayModes1_Type pEnumDisplayModes, LPD EmuDesc.ddpfPixelFormat.dwFlags=DDPF_RGB; for (DepthIdx=0; SupportedDepths[DepthIdx]; DepthIdx++) { EmuDesc.ddpfPixelFormat.dwRGBBitCount=SupportedDepths[DepthIdx]; + EmuDesc.lPitch=SupportedRes[ResIdx].w * SupportedDepths[DepthIdx] / 8; FixPixelFormat(EmuDesc.ddpfPixelFormat.dwRGBBitCount, &(EmuDesc.ddpfPixelFormat)); res=(*cb)((LPDDSURFACEDESC)&EmuDesc, lpContext); OutTraceDW("EnumDisplayModes(D): proposed depth[%d]=%d size[%d]=(%d,%d) res=%x\n", diff --git a/dll/dinput.cpp b/dll/dinput.cpp index b2d70db..9c6971f 100644 --- a/dll/dinput.cpp +++ b/dll/dinput.cpp @@ -286,7 +286,9 @@ HRESULT WINAPI extGetDeviceState(LPDIRECTINPUTDEVICE lpdid, DWORD cbdata, LPDIMO res = (*pGetDeviceState)(lpdid, cbdata, lpvdata); if(res) return res; - if(cbdata == sizeof(DIMOUSESTATE) || cbdata == sizeof(DIMOUSESTATE2)){ + if( cbdata == sizeof(DIMOUSESTATE) || cbdata == sizeof(DIMOUSESTATE2) + // || cbdata == sizeof(DIJOYSTATE) || cbdata == sizeof(DIJOYSTATE2) + ){ GetMousePosition((int *)&p.x, (int *)&p.y); lpvdata->lX = p.x; lpvdata->lY = p.y; @@ -304,16 +306,65 @@ HRESULT WINAPI extGetDeviceState(LPDIRECTINPUTDEVICE lpdid, DWORD cbdata, LPDIMO lpvdata->lZ = 0; *(DWORD *)lpvdata->rgbButtons = 0; } - OutTraceDW("DEBUG: directinput mousestate=(%d,%d)\n", p.x, p.y); + OutTraceB("GetDeviceState(I): DEBUG mousestate=(%d,%d)\n", p.x, p.y); } if(cbdata == 256 && !dxw.bActive) ZeroMemory(lpvdata, 256); return 0; } - + +//static char *dftype(LPCDIDATAFORMAT lpdf) +//{ +// if(lpdf == &c_dfDIMouse) return "mouse"; +// if(lpdf == &c_dfDIKeyboard) return "keyboard"; +// if(lpdf == &c_dfDIMouse2) return "mouse2"; +// if(lpdf == &c_dfDIJoystick) return "joy"; +// if(lpdf == &c_dfDIJoystick2) return "joy2"; +// return "custom"; +//} + +static char *didftype(DWORD c) +{ + static char eb[256]; + unsigned int l; + strcpy(eb,"DIDFT_"); + switch (c & 0x00000003){ + case DIDFT_RELAXIS: strcat(eb, "RELAXIS+"); break; + case DIDFT_ABSAXIS: strcat(eb, "ABSAXIS+"); break; + case DIDFT_AXIS: strcat(eb, "AXIS+"); break; + } + switch (c & 0x0000000C){ + case DIDFT_PSHBUTTON: strcat(eb, "PSHBUTTON+"); break; + case DIDFT_TGLBUTTON: strcat(eb, "TGLBUTTON+"); break; + case DIDFT_BUTTON: strcat(eb, "BUTTON+"); break; + } + if (c & DIDFT_POV) strcat(eb, "POV+"); + if (c & DIDFT_COLLECTION) strcat(eb, "COLLECTION+"); + if (c & DIDFT_NODATA) strcat(eb, "NODATA+"); + if (c & DIDFT_FFACTUATOR) strcat(eb, "FFACTUATOR+"); + if (c & DIDFT_FFEFFECTTRIGGER) strcat(eb, "FFEFFECTTRIGGER+"); + if (c & DIDFT_VENDORDEFINED) strcat(eb, "VENDORDEFINED+"); + if (c & DIDFT_OUTPUT) strcat(eb, "OUTPUT+"); + if (c & DIDFT_ALIAS) strcat(eb, "ALIAS+"); + if (c & DIDFT_OPTIONAL) strcat(eb, "OPTIONAL+"); + l=strlen(eb); + if (l>strlen("DIDFT_")) eb[l-1]=0; // delete last '+' if any + else eb[0]=0; + return(eb); +} + HRESULT WINAPI extSetDataFormat(LPDIRECTINPUTDEVICE lpdid, LPCDIDATAFORMAT lpdf) { - OutTraceDW("SetDataFormat(I): did=%x flags=0x%x\n", lpdid, lpdf->dwFlags); + OutTraceDW("SetDataFormat(I): did=%x lpdf=%x size=%d objsize=%d flags=0x%x datasize=%d numobjects=%d\n", + lpdid, lpdf, lpdf->dwSize, lpdf->dwObjSize, lpdf->dwFlags, lpdf->dwDataSize, lpdf->dwNumObjs); + if(IsDebug){ + DIOBJECTDATAFORMAT *df; + df = lpdf->rgodf; + for(DWORD i=0; idwNumObjs; i++){ + OutTrace("SetDataFormat(I): DataFormat[%d] ofs=%x flags=%x type=%x(%s)\n", + i, df[i].dwOfs, df[i].dwFlags, df[i].dwType, didftype(df[i].dwType)); + } + } if(lpdf->dwFlags & DIDF_ABSAXIS) dxw.bDInputAbs = 1; if(lpdf->dwFlags & DIDF_RELAXIS) dxw.bDInputAbs = 0; @@ -322,7 +373,8 @@ HRESULT WINAPI extSetDataFormat(LPDIRECTINPUTDEVICE lpdid, LPCDIDATAFORMAT lpdf) HRESULT WINAPI extDISetCooperativeLevel(LPDIRECTINPUTDEVICE lpdid, HWND hwnd, DWORD dwflags) { - OutTraceDW("SetCooperativeLevel(I): did=%x hwnd=%x flags=%x\n", lpdid, hwnd, dwflags); + OutTraceDW("SetCooperativeLevel(I): did=%x hwnd=%x flags=%x(%s)\n", + lpdid, hwnd, dwflags, ExplainDICooperativeFlags(dwflags)); if(dxw.IsRealDesktop(hwnd)) hwnd=dxw.GethWnd(); dwflags = DISCL_NONEXCLUSIVE | DISCL_BACKGROUND; @@ -371,6 +423,7 @@ HRESULT WINAPI extDeviceProxy(LPCDIDEVICEINSTANCE dev, LPVOID arg) dev->dwSize, p, dev->guidInstance.Data1, dev->guidInstance.Data2, dev->guidInstance.Data3, dev->guidInstance.Data4, dev->dwDevType, dev->tszInstanceName, dev->tszProductName); +#if 0 if(0){ DIDEVICEINSTANCEW fixdev; fixdev.dwSize=sizeof(DIDEVICEINSTANCEW); @@ -383,13 +436,9 @@ HRESULT WINAPI extDeviceProxy(LPCDIDEVICEINSTANCE dev, LPVOID arg) OutTraceDW("EnumDevices: CALLBACK ret=%x\n", res); return res; } +#endif - __try{ - res = ((((CallbackArg *)arg)->cb))(dev, ((CallbackArg *)arg)->arg); - } - __except(EXCEPTION_EXECUTE_HANDLER){ - res=TRUE; - } + res = (*(((CallbackArg *)arg)->cb))(dev, ((CallbackArg *)arg)->arg); OutTraceDW("EnumDevices: CALLBACK ret=%x\n", res); return res; } @@ -401,7 +450,7 @@ HRESULT WINAPI extDIEnumDevices(void *lpdi, DWORD dwDevType, LPDIENUMDEVICESCALL OutTraceDW("EnumDevices(I): di=%x DevType=%x CallBack=%x Ref=%x Flags=%x\n", lpdi, dwDevType, lpCallback, pvRef, dwFlags); Arg.cb= lpCallback; Arg.arg=pvRef; - res=(*pDIEnumDevices)( lpdi, dwDevType, (LPDIENUMDEVICESCALLBACK)extDeviceProxy, pvRef, dwFlags); + res=(*pDIEnumDevices)( lpdi, dwDevType, (LPDIENUMDEVICESCALLBACK)extDeviceProxy, &Arg, dwFlags); // V2.02.80 fix //res=(*pDIEnumDevices)( lpdi, dwDevType, lpCallback, pvRef, dwFlags); OutTraceDW("EnumDevices(I): res=%x\n", res); return res; diff --git a/dll/dxhelper.cpp b/dll/dxhelper.cpp index 34ac2fc..68567cc 100644 --- a/dll/dxhelper.cpp +++ b/dll/dxhelper.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include "dxwnd.h" @@ -1716,3 +1717,18 @@ char *ExplainChangeDisplaySettingsFlags(DWORD c) return(eb); } +char *ExplainDICooperativeFlags(DWORD c) +{ + static char eb[128]; + unsigned int l; + strcpy(eb,"DISCL_"); + if(c & DISCL_EXCLUSIVE) strcat(eb, "EXCLUSIVE+"); + if(c & DISCL_NONEXCLUSIVE) strcat(eb, "NONEXCLUSIVE+"); + if(c & DISCL_FOREGROUND) strcat(eb, "FOREGROUND+"); + if(c & DISCL_BACKGROUND) strcat(eb, "BACKGROUND+"); + if(c & DISCL_NOWINKEY) strcat(eb, "NOWINKEY+"); + l=strlen(eb); + if (l>strlen("DISCL_")) eb[l-1]=0; // delete last '+' if any + else strcpy(eb,"NULL"); + return(eb); +} \ No newline at end of file diff --git a/dll/dxhelper.h b/dll/dxhelper.h index e9098e1..b54aca4 100644 --- a/dll/dxhelper.h +++ b/dll/dxhelper.h @@ -50,3 +50,4 @@ extern char *ExplainD3DRenderState(DWORD); extern char *ExplainRenderstateValue(DWORD); extern char *ExplainWfPFlags(DWORD); extern char *ExplainChangeDisplaySettingsFlags(DWORD); +extern char *ExplainDICooperativeFlags(DWORD); diff --git a/dll/dxwcore.cpp b/dll/dxwcore.cpp index 0797684..782e0ab 100644 --- a/dll/dxwcore.cpp +++ b/dll/dxwcore.cpp @@ -1143,7 +1143,7 @@ void dxwCore::ShowFPS(HDC xdc) static int x, y; static DWORD color; - if((*pGetTickCount)()-dwTimer > 4000){ + if((*pGetTickCount)()-dwTimer > 6000){ RECT rect; dwTimer = (*pGetTickCount)(); corner = dwTimer % 4; diff --git a/dll/dxwnd.aps b/dll/dxwnd.aps index c0206be06ad175a0173346e26247be98007cdd12..dd2e7adfee94a918c0ae5b760d8f519768141cfb 100644 GIT binary patch delta 52 zcmZ3mjA_9#rU~Ip76uz5h5MN;7z`%o_Zv_4>t~znH=$*+&IB0{d$ZpJ7e=6(%~K}! GFaiMYloGB0 delta 48 zcmZ3mjA_9#rU~IpW=0z$h5MP!7>p+8_Zu_1O!l16Iaz0d45Q0t&k3H4K>5v6CiXA_ E0F%rROaK4? diff --git a/dll/dxwnd.cpp b/dll/dxwnd.cpp index 38b7dad..ae0e13e 100644 --- a/dll/dxwnd.cpp +++ b/dll/dxwnd.cpp @@ -24,7 +24,7 @@ along with this program. If not, see . #include "dxwnd.h" #include "dxwcore.hpp" -#define VERSION "2.02.79" +#define VERSION "2.02.80" #define DDTHREADLOCK 1 diff --git a/dll/dxwnd.vs2008.suo b/dll/dxwnd.vs2008.suo index 2d53de358aa3bc4b7d8fc0451f5122d1129bf2ab..2923f2d300956447962837d199a93b17678b5357 100644 GIT binary patch delta 7620 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 delta 17185 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 diff --git a/dll/kernel32.cpp b/dll/kernel32.cpp index cbd43b3..a3c7041 100644 --- a/dll/kernel32.cpp +++ b/dll/kernel32.cpp @@ -5,6 +5,7 @@ #include "dxhelper.h" #include "hddraw.h" #include "ddproxy.h" +#include "stdio.h" //#undef IsTraceDW //#define IsTraceDW TRUE @@ -17,6 +18,7 @@ static HookEntry_Type Hooks[]={ {HOOK_IAT_CANDIDATE, "LoadLibraryW", (FARPROC)LoadLibraryW, (FARPROC *)&pLoadLibraryW, (FARPROC)extLoadLibraryW}, {HOOK_IAT_CANDIDATE, "LoadLibraryExW", (FARPROC)LoadLibraryExW, (FARPROC *)&pLoadLibraryExW, (FARPROC)extLoadLibraryExW}, {HOOK_IAT_CANDIDATE, "GetDriveTypeA", (FARPROC)NULL, (FARPROC *)&pGetDriveType, (FARPROC)extGetDriveType}, + {HOOK_IAT_CANDIDATE, "GetLogicalDrives", (FARPROC)NULL, (FARPROC *)&pGetLogicalDrives, (FARPROC)extGetLogicalDrives}, {HOOK_IAT_CANDIDATE, 0, NULL, 0, 0} // terminator }; @@ -29,8 +31,8 @@ static HookEntry_Type FixIOHooks[]={ }; static HookEntry_Type LimitHooks[]={ - {HOOK_IAT_CANDIDATE, "GetDiskFreeSpaceA", (FARPROC)GetDiskFreeSpaceA, (FARPROC *)&pGetDiskFreeSpaceA, (FARPROC)extGetDiskFreeSpaceA}, - {HOOK_IAT_CANDIDATE, "GlobalMemoryStatus", (FARPROC)GlobalMemoryStatus, (FARPROC *)&pGlobalMemoryStatus, (FARPROC)extGlobalMemoryStatus}, + {HOOK_HOT_CANDIDATE, "GetDiskFreeSpaceA", (FARPROC)GetDiskFreeSpaceA, (FARPROC *)&pGetDiskFreeSpaceA, (FARPROC)extGetDiskFreeSpaceA}, + {HOOK_HOT_CANDIDATE, "GlobalMemoryStatus", (FARPROC)GlobalMemoryStatus, (FARPROC *)&pGlobalMemoryStatus, (FARPROC)extGlobalMemoryStatus}, {HOOK_IAT_CANDIDATE, 0, NULL, 0, 0} // terminator }; @@ -316,12 +318,9 @@ VOID WINAPI extSleep(DWORD dwMilliseconds) { DWORD dwNewDelay; dwNewDelay=dwMilliseconds; - if (dwMilliseconds!=INFINITE && dwMilliseconds!=0){ + if ((dwMilliseconds!=INFINITE) && (dwMilliseconds!=0)){ dwNewDelay = dxw.StretchTime(dwMilliseconds); - if (dwNewDelay==0){ // oh oh! troubles... - if (dxw.TimeShift > 0) dwNewDelay=1; // minimum allowed... - else dwNewDelay = INFINITE-1; // maximum allowed !!! - } + if (dwNewDelay==0) dwNewDelay=1; // minimum allowed... } if (IsDebug) OutTrace("Sleep: msec=%d->%d timeshift=%d\n", dwMilliseconds, dwNewDelay, dxw.TimeShift); (*pSleep)(dwNewDelay); @@ -331,12 +330,9 @@ DWORD WINAPI extSleepEx(DWORD dwMilliseconds, BOOL bAlertable) { DWORD dwNewDelay; dwNewDelay=dwMilliseconds; - if (dwMilliseconds!=INFINITE && dwMilliseconds!=0){ + if ((dwMilliseconds!=INFINITE) && (dwMilliseconds!=0)){ dwNewDelay = dxw.StretchTime(dwMilliseconds); - if (dwNewDelay==0){ // oh oh! troubles... - if (dxw.TimeShift > 0) dwNewDelay=1; // minimum allowed... - else dwNewDelay = INFINITE-1; // maximum allowed !!! - } + if (dwNewDelay==0) dwNewDelay=1; // minimum allowed... } if (IsDebug) OutTrace("SleepEx: msec=%d->%d alertable=%x, timeshift=%d\n", dwMilliseconds, dwNewDelay, bAlertable, dxw.TimeShift); return (*pSleepEx)(dwNewDelay, bAlertable); @@ -611,9 +607,37 @@ UINT WINAPI extGetDriveType(LPCTSTR lpRootPathName) { OutTraceDW("GetDriveType: path=\"%s\"\n", lpRootPathName); if (dxw.dwFlags3 & CDROMDRIVETYPE) return DRIVE_CDROM; + if (dxw.dwFlags4 & HIDECDROMEMPTY){ + BOOL Vol; + Vol = GetVolumeInformation(lpRootPathName, NULL, NULL, NULL, 0, 0, 0, 0); + OutTrace("Vol=%x\n", Vol); + if(!Vol) return DRIVE_UNKNOWN; + } return (*pGetDriveType)(lpRootPathName); } +DWORD WINAPI extGetLogicalDrives(void) +{ + DWORD DevMask; + OutTraceDW("GetLogicalDrives:\n"); + DevMask = (*pGetLogicalDrives)(); + if (dxw.dwFlags4 & HIDECDROMEMPTY){ + for(int i=0; i<32; i++){ + DWORD DevBit; + BOOL Vol; + DevBit = 0x1 << i; + if(DevMask & DevBit){ + char RootPathName[10]; + sprintf(RootPathName, "%c:\\", 'A'+i); + Vol = GetVolumeInformation(RootPathName, NULL, NULL, NULL, 0, 0, 0, 0); + OutTrace("Vol=%s status=%x\n", RootPathName, Vol); + if(!Vol) DevMask &= ~DevBit; + } + } + } + return DevMask; +} + BOOL WINAPI extReadFile(HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped) { BOOL ret; diff --git a/dll/syslibs.h b/dll/syslibs.h index 6850b30..d3e1bd3 100644 --- a/dll/syslibs.h +++ b/dll/syslibs.h @@ -99,6 +99,7 @@ typedef DWORD (WINAPI *GetObjectType_Type)(HGDIOBJ); // Kernel32.dll: typedef BOOL (WINAPI *GetDiskFreeSpaceA_Type)(LPCSTR, LPDWORD, LPDWORD, LPDWORD, LPDWORD); typedef UINT (WINAPI *GetDriveType_Type)(LPCSTR); +typedef DWORD (WINAPI *GetLogicalDrives_Type)(void); typedef void (WINAPI *GetLocalTime_Type)(LPSYSTEMTIME); typedef FARPROC (WINAPI *GetProcAddress_Type)(HMODULE, LPCSTR); typedef void (WINAPI *GetSystemTime_Type)(LPSYSTEMTIME); @@ -308,6 +309,7 @@ DXWEXTERN GetObjectType_Type pGetObjectType DXWINITIALIZED; // Kernel32.dll: DXWEXTERN GetDiskFreeSpaceA_Type pGetDiskFreeSpaceA DXWINITIALIZED; DXWEXTERN GetDriveType_Type pGetDriveType DXWINITIALIZED; +DXWEXTERN GetLogicalDrives_Type pGetLogicalDrives DXWINITIALIZED; DXWEXTERN GetLocalTime_Type pGetLocalTime DXWINITIALIZED; DXWEXTERN GetProcAddress_Type pGetProcAddress DXWINITIALIZED; DXWEXTERN GetSystemTime_Type pGetSystemTime DXWINITIALIZED; @@ -508,6 +510,7 @@ extern DWORD WINAPI extGetObjectType(HGDIOBJ); // Kernel32.dll: extern BOOL WINAPI extGetDiskFreeSpaceA(LPCSTR, LPDWORD, LPDWORD, LPDWORD, LPDWORD); extern UINT WINAPI extGetDriveType(LPCSTR); +extern DWORD WINAPI extGetLogicalDrives(void); extern void WINAPI extGetLocalTime(LPSYSTEMTIME); extern FARPROC WINAPI extGetProcAddress(HMODULE, LPCSTR); extern void WINAPI extGetSystemTime(LPSYSTEMTIME); diff --git a/host/CppUACSelfElevation.cpp b/host/CppUACSelfElevation.cpp index 9dad8dc..32ed595 100644 --- a/host/CppUACSelfElevation.cpp +++ b/host/CppUACSelfElevation.cpp @@ -492,221 +492,3 @@ void ReportError(LPCWSTR pszFunction, DWORD dwError = GetLastError()) } } -#if 0 -// -// FUNCTION: OnInitDialog(HWND, HWND, LPARAM) -// -// PURPOSE: Process the WM_INITDIALOG message. Check and display the -// "run as administrator" status, the elevation information, and the -// integrity level of the current process. -// -BOOL OnInitDialog(HWND hWnd, HWND hwndFocus, LPARAM lParam) -{ - // Get and display whether the primary access token of the process - // belongs to user account that is a member of the local Administrators - // group even if it currently is not elevated (IsUserInAdminGroup). - HWND hInAdminGroupLabel = GetDlgItem(hWnd, IDC_STATIC_INADMINGROUP); - try - { - BOOL const fInAdminGroup = IsUserInAdminGroup(); - SetWindowText(hInAdminGroupLabel, fInAdminGroup ? L"True" : L"False"); - } - catch (DWORD dwError) - { - SetWindowText(hInAdminGroupLabel, L"N/A"); - ReportError(L"IsUserInAdminGroup", dwError); - } - - // Get and display whether the process is run as administrator or not - // (IsRunAsAdmin). - HWND hIsRunAsAdminLabel = GetDlgItem(hWnd, IDC_STATIC_ISRUNASADMIN); - try - { - BOOL const fIsRunAsAdmin = IsRunAsAdmin(); - SetWindowText(hIsRunAsAdminLabel, fIsRunAsAdmin ? L"True" : L"False"); - } - catch (DWORD dwError) - { - SetWindowText(hIsRunAsAdminLabel, L"N/A"); - ReportError(L"IsRunAsAdmin", dwError); - } - - // Get and display the process elevation information (IsProcessElevated) - // and integrity level (GetProcessIntegrityLevel). The information is not - // available on operating systems prior to Windows Vista. - - HWND hIsElevatedLabel = GetDlgItem(hWnd, IDC_STATIC_ISELEVATED); - HWND hILLabel = GetDlgItem(hWnd, IDC_STATIC_IL); - - OSVERSIONINFO osver = { sizeof(osver) }; - if (GetVersionEx(&osver) && osver.dwMajorVersion >= 6) - { - // Running Windows Vista or later (major version >= 6). - - try - { - // Get and display the process elevation information. - BOOL const fIsElevated = IsProcessElevated(); - SetWindowText(hIsElevatedLabel, fIsElevated ? L"True" : L"False"); - - // Update the Self-elevate button to show the UAC shield icon on - // the UI if the process is not elevated. The - // Button_SetElevationRequiredState macro (declared in Commctrl.h) - // is used to show or hide the shield icon in a button. You can - // also get the shield directly as an icon by calling - // SHGetStockIconInfo with SIID_SHIELD as the parameter. - HWND hElevateBtn = GetDlgItem(hWnd, IDC_BUTTON_ELEVATE); - Button_SetElevationRequiredState(hElevateBtn, !fIsElevated); - } - catch (DWORD dwError) - { - SetWindowText(hIsElevatedLabel, L"N/A"); - ReportError(L"IsProcessElevated", dwError); - } - - try - { - // Get and display the process integrity level. - DWORD const dwIntegrityLevel = GetProcessIntegrityLevel(); - switch (dwIntegrityLevel) - { - case SECURITY_MANDATORY_UNTRUSTED_RID: SetWindowText(hILLabel, L"Untrusted"); break; - case SECURITY_MANDATORY_LOW_RID: SetWindowText(hILLabel, L"Low"); break; - case SECURITY_MANDATORY_MEDIUM_RID: SetWindowText(hILLabel, L"Medium"); break; - case SECURITY_MANDATORY_HIGH_RID: SetWindowText(hILLabel, L"High"); break; - case SECURITY_MANDATORY_SYSTEM_RID: SetWindowText(hILLabel, L"System"); break; - default: SetWindowText(hILLabel, L"Unknown"); break; - } - } - catch (DWORD dwError) - { - SetWindowText(hILLabel, L"N/A"); - ReportError(L"GetProcessIntegrityLevel", dwError); - } - } - else - { - SetWindowText(hIsElevatedLabel, L"N/A"); - SetWindowText(hILLabel, L"N/A"); - } - - return TRUE; -} - - -// -// FUNCTION: OnCommand(HWND, int, HWND, UINT) -// -// PURPOSE: Process the WM_COMMAND message -// -void OnCommand(HWND hWnd, int id, HWND hwndCtl, UINT codeNotify) -{ - switch (id) - { - case IDC_BUTTON_ELEVATE: - { - // Check the current process's "run as administrator" status. - BOOL fIsRunAsAdmin; - try - { - fIsRunAsAdmin = IsRunAsAdmin(); - } - catch (DWORD dwError) - { - ReportError(L"IsRunAsAdmin", dwError); - break; - } - - // Elevate the process if it is not run as administrator. - if (!fIsRunAsAdmin) - { - wchar_t szPath[MAX_PATH]; - if (GetModuleFileName(NULL, szPath, ARRAYSIZE(szPath))) - { - // Launch itself as administrator. - SHELLEXECUTEINFO sei = { sizeof(sei) }; - sei.lpVerb = L"runas"; - sei.lpFile = szPath; - sei.hwnd = hWnd; - sei.nShow = SW_NORMAL; - - if (!ShellExecuteEx(&sei)) - { - DWORD dwError = GetLastError(); - if (dwError == ERROR_CANCELLED) - { - // The user refused the elevation. - // Do nothing ... - } - } - else - { - EndDialog(hWnd, TRUE); // Quit itself - } - } - } - else - { - MessageBox(hWnd, L"The process is running as administrator", L"UAC", MB_OK); - } - } - break; - - case IDOK: - case IDCANCEL: - EndDialog(hWnd, 0); - break; - } -} - - -// -// FUNCTION: OnClose(HWND) -// -// PURPOSE: Process the WM_CLOSE message -// -void OnClose(HWND hWnd) -{ - EndDialog(hWnd, 0); -} - - -// -// FUNCTION: DialogProc(HWND, UINT, WPARAM, LPARAM) -// -// PURPOSE: Processes messages for the main dialog. -// -INT_PTR CALLBACK DialogProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) -{ - switch (message) - { - // Handle the WM_INITDIALOG message in OnInitDialog - HANDLE_MSG (hWnd, WM_INITDIALOG, OnInitDialog); - - // Handle the WM_COMMAND message in OnCommand - HANDLE_MSG (hWnd, WM_COMMAND, OnCommand); - - // Handle the WM_CLOSE message in OnClose - HANDLE_MSG (hWnd, WM_CLOSE, OnClose); - - default: - return FALSE; - } - return 0; -} - - -// -// FUNCTION: wWinMain(HINSTANCE, HINSTANCE, LPWSTR, int) -// -// PURPOSE: The entry point of the application. -// -int APIENTRY wWinMain(HINSTANCE hInstance, - HINSTANCE hPrevInstance, - LPWSTR lpCmdLine, - int nCmdShow) -{ - return DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAINDIALOG), NULL, DialogProc); -} - -#endif \ No newline at end of file diff --git a/host/MainFrm.cpp b/host/MainFrm.cpp index 927c448..7ce9e7f 100644 --- a/host/MainFrm.cpp +++ b/host/MainFrm.cpp @@ -55,11 +55,11 @@ CMainFrame::CMainFrame() // duplicate activation check GlobalLocker=CreateSemaphore(NULL, 0, 1, "DxWnd LOCKER"); if(GlobalLocker==NULL){ - MessageBoxEx(0, "CreateSemaphore FAILED.\nExiting.", "Warning", MB_OK | MB_ICONEXCLAMATION, NULL); + MessageBoxLang(DXW_STRING_SEMAPHORE, DXW_STRING_WARNING, MB_OK | MB_ICONEXCLAMATION); return; } if(GetLastError()==ERROR_ALREADY_EXISTS){ - MessageBoxEx(0, "DxWnd is already running.\nExiting.", "Warning", MB_OK | MB_ICONEXCLAMATION, NULL); + MessageBoxLang(DXW_STRING_DXWRUNNING, DXW_STRING_WARNING, MB_OK | MB_ICONEXCLAMATION); exit(1); } } diff --git a/host/MessageBox.cpp b/host/MessageBox.cpp new file mode 100644 index 0000000..50a0cbd --- /dev/null +++ b/host/MessageBox.cpp @@ -0,0 +1,38 @@ +#include "stdafx.h" +#include +#include + +int MessageBoxLang(UINT iText, UINT iCaption, UINT uType) +{ + WCHAR sBuffer[1024+1]; + WCHAR sCaption[48+1]; + LoadStringW(AfxGetResourceHandle(), iText, (LPWSTR)&sBuffer, sizeof(sBuffer)); + LoadStringW(AfxGetResourceHandle(), iCaption, (LPWSTR)&sCaption, sizeof(sCaption)); + + return MessageBoxExW(NULL, sBuffer, sCaption, uType, NULL); +} + +int MessageBoxLangArg(UINT iText, UINT iCaption, UINT uType, ...) +{ + va_list al; + WCHAR sBuffer[1024+1]; + WCHAR sFormat[1024+1]; + WCHAR sCaption[48+1]; + + LoadStringW(AfxGetResourceHandle(), iText, (LPWSTR)&sFormat, sizeof(sFormat)); + LoadStringW(AfxGetResourceHandle(), iCaption, (LPWSTR)&sCaption, sizeof(sCaption)); + + va_start(al, uType); + vswprintf(sBuffer, 1024, sFormat, al); + va_end(al); + + return MessageBoxExW(NULL, sBuffer, sCaption, uType, NULL); +} + +int MessageBoxLangWstr(LPWSTR lpBuffer, UINT iCaption, UINT uType) +{ + WCHAR sCaption[48+1]; + LoadStringW(AfxGetResourceHandle(), iCaption, (LPWSTR)&sCaption, sizeof(sCaption)); + + return MessageBoxExW(NULL, lpBuffer, sCaption, uType, NULL); +} diff --git a/host/Resource.h b/host/Resource.h index b339a52389fe7927a228d5b5a4e274bcbe6d06c9..ab85cd25bb36861789f1fd1d9298878585b88dfe 100644 GIT binary patch literal 28502 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 literal 12277 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 DDX_Check(pDX, IDC_NOPOWER2FIX, cTarget->m_NoPower2Fix); DDX_Check(pDX, IDC_NOPERFCOUNTER, cTarget->m_NoPerfCounter); + DDX_Check(pDX, IDC_HIDECDROMEMPTY, cTarget->m_HideCDROMEmpty); // 3D management DDX_Check(pDX, IDC_NOTEXTURES, cTarget->m_NoTextures); diff --git a/host/TargetDlg.cpp b/host/TargetDlg.cpp index 4595f1f..445743f 100644 --- a/host/TargetDlg.cpp +++ b/host/TargetDlg.cpp @@ -57,6 +57,7 @@ CTargetDlg::CTargetDlg(CWnd* pParent /*=NULL*/) m_SingleProcAffinity = FALSE; m_LimitResources = FALSE; m_CDROMDriveType = FALSE; + m_HideCDROMEmpty = FALSE; m_FontBypass = FALSE; m_BufferedIOFix = FALSE; m_ZBufferClean = FALSE; diff --git a/host/TargetDlg.h b/host/TargetDlg.h index f0e2818..ed98333 100644 --- a/host/TargetDlg.h +++ b/host/TargetDlg.h @@ -129,6 +129,7 @@ public: BOOL m_NoPaletteUpdate; BOOL m_LimitResources; BOOL m_CDROMDriveType; + BOOL m_HideCDROMEmpty; BOOL m_FontBypass; BOOL m_BufferedIOFix; BOOL m_ZBufferClean; diff --git a/host/dxwnd.ini b/host/dxwnd.ini deleted file mode 100644 index 7c397d1..0000000 --- a/host/dxwnd.ini +++ /dev/null @@ -1,29 +0,0 @@ -[window] -posx=1283 -posy=380 -sizx=320 -sizy=200 -[target] -title0=a10 -path0=D:\Games\A10\A10Cuba.exe -module0= -opengllib0= -ver0=0 -coord0=0 -flag0=134217762 -flagg0=1207959552 -flagh0=20 -flagi0=0 -tflag0=64 -initx0=0 -inity0=0 -minx0=0 -miny0=0 -maxx0=0 -maxy0=0 -posx0=50 -posy0=50 -sizx0=800 -sizy0=600 -maxfps0=0 -initts0=0 diff --git a/host/dxwndhost.aps b/host/dxwndhost.aps index 77b0ef7062b27e4f704cc56a277d8606df2364d0..14d47b9e7b31efb2fc3a9ea09c8ed9106407a8ad 100644 GIT binary patch delta 8598 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 delta 20608 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 kGetMainWnd(); sei.hwnd = (HWND)NULL; // set to NULL to force the confirmation dialog on top of everything... sei.nShow = SW_NORMAL; + args = ""; + for(int i=1; i<=__argc; i++) { + args += (LPCSTR)(__argv[i]); + args += " "; + } + sei.lpParameters = args; if (!ShellExecuteEx(&sei)){ DWORD dwError = GetLastError(); if (dwError == ERROR_CANCELLED){ @@ -236,15 +247,6 @@ void CDxwndhostApp::OnAppAbout() aboutDlg.DoModal(); } -//void CDxwndhostApp::OnAppExit() -//{ -// MessageBoxEx(0, -// "A hooked task is still running.\n" -// "Exiting now may crash it.\n" -// "Do you still want to exit?", -// "Warning", MB_OKCANCEL | MB_ICONQUESTION, NULL); -//} - ///////////////////////////////////////////////////////////////////////////// // CDxwndhostApp Message Handler diff --git a/host/dxwndhost.rc b/host/dxwndhost.rc index 17a06fefa2b09af02f7ddbe93fa2f8895515dda9..a50f32ca170ad31554e149dce11afc1734c3b500 100644 GIT binary patch literal 84982 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 literal 40599 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 diff --git a/host/dxwndhost.rc2.txt b/host/dxwndhost.rc2.txt new file mode 100644 index 0000000000000000000000000000000000000000..0a22beb4d4910906c48d611082fff1bd2ef9b5f9 GIT binary patch literal 80738 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 literal 0 HcmV?d00001 diff --git a/host/dxwndhost.vs2008.sln b/host/dxwndhost.vs2008.sln index 5bf4fb1..804a3d2 100644 --- a/host/dxwndhost.vs2008.sln +++ b/host/dxwndhost.vs2008.sln @@ -3,6 +3,10 @@ Microsoft Visual Studio Solution File, Format Version 10.00 # Visual Studio 2008 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dxwndhost", "dxwndhost.vs2008.vcproj", "{FD0B0234-8EC5-43C0-A384-1B881DD3D925}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Resources_Ch", "..\locale\ch\Resources_Ch.vcproj", "{F8D07BBB-A04B-4C0C-8AF8-7F839A152456}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dxwnd", "..\dll\dxwnd.vs2008.vcproj", "{579E7FE7-2745-4100-A802-23511711FCDE}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -13,6 +17,14 @@ Global {FD0B0234-8EC5-43C0-A384-1B881DD3D925}.Debug|Win32.Build.0 = Debug|Win32 {FD0B0234-8EC5-43C0-A384-1B881DD3D925}.Release|Win32.ActiveCfg = Release|Win32 {FD0B0234-8EC5-43C0-A384-1B881DD3D925}.Release|Win32.Build.0 = Release|Win32 + {F8D07BBB-A04B-4C0C-8AF8-7F839A152456}.Debug|Win32.ActiveCfg = Debug|Win32 + {F8D07BBB-A04B-4C0C-8AF8-7F839A152456}.Debug|Win32.Build.0 = Debug|Win32 + {F8D07BBB-A04B-4C0C-8AF8-7F839A152456}.Release|Win32.ActiveCfg = Release|Win32 + {F8D07BBB-A04B-4C0C-8AF8-7F839A152456}.Release|Win32.Build.0 = Release|Win32 + {579E7FE7-2745-4100-A802-23511711FCDE}.Debug|Win32.ActiveCfg = Debug|Win32 + {579E7FE7-2745-4100-A802-23511711FCDE}.Debug|Win32.Build.0 = Debug|Win32 + {579E7FE7-2745-4100-A802-23511711FCDE}.Release|Win32.ActiveCfg = Release|Win32 + {579E7FE7-2745-4100-A802-23511711FCDE}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/host/dxwndhost.vs2008.suo b/host/dxwndhost.vs2008.suo index 22c6a2a5a042accbe5cb34fd007b033eca6297cb..2e19ae5feea8d1c71fef4fad2777347229db236d 100644 GIT binary patch delta 24348 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 diff --git a/host/dxwndhost.vs2008.vcproj b/host/dxwndhost.vs2008.vcproj index 9f3c46b..286ea2c 100644 --- a/host/dxwndhost.vs2008.vcproj +++ b/host/dxwndhost.vs2008.vcproj @@ -168,7 +168,7 @@ + + diff --git a/host/dxwndhostView.cpp b/host/dxwndhostView.cpp index 39bba94..7e63ad8 100644 --- a/host/dxwndhostView.cpp +++ b/host/dxwndhostView.cpp @@ -74,10 +74,9 @@ END_MESSAGE_MAP() // v2.1.68: dialog box for status check. static BOOL CheckStatus() -{ +{ if(GetHookStatus(NULL)==DXW_RUNNING){ - MessageBoxEx(0, "A hooked task is still running.\nWait its termination.", - "Warning", MB_OK | MB_ICONEXCLAMATION, NULL); + MessageBoxLang(DXW_STRING_WAITTASK, DXW_STRING_WARNING, MB_OK | MB_ICONEXCLAMATION); return TRUE; } return FALSE; @@ -91,11 +90,8 @@ static void RevertScreenChanges(DEVMODE *InitDevMode) if ((CurDevMode.dmPelsHeight != InitDevMode->dmPelsHeight) || (CurDevMode.dmPelsWidth != InitDevMode->dmPelsWidth) || (CurDevMode.dmBitsPerPel != InitDevMode->dmBitsPerPel)){ - if (MessageBoxEx(0, - "Desktop setting has changed.\n" - "Do you want to restore the previous ones?", - "Warning", MB_YESNO | MB_ICONQUESTION, NULL)==IDYES) - ChangeDisplaySettings(InitDevMode, 0); + if (MessageBoxLang(DXW_STRING_RESTORE, DXW_STRING_WARNING, MB_YESNO | MB_ICONQUESTION)==IDYES) + ChangeDisplaySettings(InitDevMode, 0); } } @@ -166,6 +162,7 @@ static void SetTargetFromDlg(TARGETMAP *t, CTargetDlg *dlg) if(dlg->m_HandleExceptions) t->flags |= HANDLEEXCEPTIONS; if(dlg->m_LimitResources) t->flags2 |= LIMITRESOURCES; if(dlg->m_CDROMDriveType) t->flags3 |= CDROMDRIVETYPE; + if(dlg->m_HideCDROMEmpty) t->flags4 |= HIDECDROMEMPTY; if(dlg->m_FontBypass) t->flags3 |= FONTBYPASS; if(dlg->m_BufferedIOFix) t->flags3 |= BUFFEREDIOFIX; if(dlg->m_ZBufferClean) t->flags4 |= ZBUFFERCLEAN; @@ -356,6 +353,7 @@ static void SetDlgFromTarget(TARGETMAP *t, CTargetDlg *dlg) dlg->m_SingleProcAffinity = t->flags3 & SINGLEPROCAFFINITY ? 1 : 0; dlg->m_LimitResources = t->flags2 & LIMITRESOURCES ? 1 : 0; dlg->m_CDROMDriveType = t->flags3 & CDROMDRIVETYPE ? 1 : 0; + dlg->m_HideCDROMEmpty = t->flags4 & HIDECDROMEMPTY ? 1 : 0; dlg->m_FontBypass = t->flags3 & FONTBYPASS ? 1 : 0; dlg->m_BufferedIOFix = t->flags3 & BUFFEREDIOFIX ? 1 : 0; dlg->m_ZBufferClean = t->flags4 & ZBUFFERCLEAN ? 1 : 0; @@ -697,12 +695,10 @@ CDxwndhostView::~CDxwndhostView() RevertScreenChanges(&this->InitDevMode); - if (this->isUpdated) - if (MessageBoxEx(0, - "Task list has changed.\n" - "Do you want to save it?", - "Warning", MB_YESNO | MB_ICONQUESTION, NULL)==IDYES) - this->SaveConfigFile(); + if (this->isUpdated){ + if (MessageBoxLang(DXW_STRING_LISTUPDATE, DXW_STRING_WARNING, MB_YESNO | MB_ICONQUESTION)==IDYES) + this->SaveConfigFile(); + } if(this->SystemTray.Enabled()){ this->SystemTray.StopAnimation(); @@ -714,11 +710,8 @@ void CDxwndhostView::OnExit() { // check for running apps .... if (GetHookStatus(NULL)==DXW_RUNNING){ - if (MessageBoxEx(0, - "A hooked task is still running.\n" - "Exiting now may crash it.\n" - "Do you still want to exit?", - "Warning", MB_OKCANCEL | MB_ICONQUESTION, NULL)==IDCANCEL) return; + if (MessageBoxLang(DXW_STRING_EXIT, DXW_STRING_WARNING, MB_OKCANCEL | MB_ICONQUESTION)==IDCANCEL) + return; } delete(this->GetParent()); } @@ -853,18 +846,19 @@ void CDxwndhostView::OnImport() char path[MAX_PATH]; for (i=0; strlen(TargetMaps[i].path) && i=MAXTARGETS){ - MessageBoxEx(0, "Maximum entries number reached.\nDelete some entry to add a new one.", "Warning", MB_OK | MB_ICONEXCLAMATION, NULL); + MessageBoxLang(DXW_STRING_MAXENTRIES, DXW_STRING_WARNING, MB_OK | MB_ICONEXCLAMATION); return; } memset(&TargetMaps[i],0,sizeof(TARGETMAP)); // clean up, just in case.... @@ -1272,8 +1260,9 @@ void CDxwndhostView::OnDelete() FilePath=FilePath.Right(FilePath.GetLength()-len-1); } - res=MessageBoxEx(0, "Delete \""+FilePath+"\" ?", - "Warning", MB_YESNO | MB_ICONQUESTION, NULL); + wchar_t *wcstring = new wchar_t[MAX_PATH+1]; + mbstowcs_s(NULL, wcstring, MAX_PATH, FilePath, _TRUNCATE); + res=MessageBoxLangArg(DXW_STRING_DELENTRY, DXW_STRING_WARNING, MB_YESNO | MB_ICONQUESTION, wcstring); if(res!=IDYES) return; listctrl.DeleteItem(i); for(; i < MAXTARGETS - 1; i ++) { @@ -1324,8 +1313,7 @@ void CDxwndhostView::OnClearAllLogs() CString FilePath; HRESULT res; - res=MessageBoxEx(0, "Clear ALL logs?", - "Warning", MB_YESNO | MB_ICONQUESTION, NULL); + res=MessageBoxLang(DXW_STRING_CLEARALL, DXW_STRING_WARNING, MB_YESNO | MB_ICONQUESTION); if(res!=IDYES) return; for(i = 0; i < MAXTARGETS; i ++) { @@ -1419,12 +1407,12 @@ void CDxwndhostView::OnGoToTrayIcon() m_StartToTray ? NULL : "DxWnd DirectDraw windowizer", // NULL inhibits the Tray banner "DxWnd", NIIF_INFO, 10)){ - MessageBox(0, "SystemTray.Create failed", MB_OK); + MessageBoxLang(DXW_STRING_TRAYFAIL, DXW_STRING_ERROR, MB_OK); return; } IconId=(menu->GetMenuState(ID_HOOK_START, MF_BYCOMMAND)==MF_CHECKED)?IDI_DXWAIT:IDI_DXIDLE; if(!this->SystemTray.SetIcon(IconId)){ - MessageBox(0, "SystemTray.LoadIcon failed", MB_OK); + MessageBoxLang(DXW_STRING_ICONFAIL, DXW_STRING_ERROR, MB_OK); return; } StatusThread= CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)TrayIconUpdate, (LPVOID)&this->SystemTray, 0, &dwThrdId); @@ -1438,11 +1426,8 @@ void CDxwndhostView::OnGoToTrayIcon() void CDxwndhostView::OnSaveFile() { if (this->isUpdated) - if (MessageBoxEx(0, - "Task list has changed.\n" - "Do you want to save it?", - "Warning", MB_YESNO | MB_ICONQUESTION, NULL)==IDYES) - this->SaveConfigFile(); + if (MessageBoxLang(DXW_STRING_SAVELIST, DXW_STRING_WARNING, MB_YESNO | MB_ICONQUESTION)==IDYES) + this->SaveConfigFile(); } void CDxwndhostView::OnTrayRestore() @@ -1598,6 +1583,7 @@ DWORD WINAPI StartDebug(void *p) switch(debug_event.dwDebugEventCode){ case EXIT_PROCESS_DEBUG_EVENT: if(step){ + // DXW_STRING_STEPPING xpi=(EXIT_PROCESS_DEBUG_INFO *)&debug_event.u; sprintf(DebugMessage, "EXIT PROCESS RetCode=%x", xpi->dwExitCode); res=MessageBoxEx(0, DebugMessage, "Continue stepping?", MB_YESNO | MB_ICONQUESTION, NULL); @@ -1610,7 +1596,7 @@ DWORD WINAPI StartDebug(void *p) // ref: problems in setting default exception handler in Tomb Raider IV demo if(ThInfo->TM->flags & HANDLEEXCEPTIONS) { Sleep(500); - MessageBoxEx(0, "Wait for exception handler ...\nPress OK button", "Pause", MB_OK, NULL); + MessageBoxLang(DXW_STRING_EXCEPTION, DXW_STRING_WAIT, MB_OK); } if(step){ pi=(PROCESS_INFORMATION *)&debug_event.u; @@ -1621,6 +1607,7 @@ DWORD WINAPI StartDebug(void *p) } GetFullPathName("dxwnd.dll", MAX_PATH, path, NULL); if(!Inject(pinfo.dwProcessId, path)){ + // DXW_STRING_INJECTION sprintf(DebugMessage,"Injection error: pid=%x dll=%s", pinfo.dwProcessId, path); MessageBoxEx(0, DebugMessage, "Injection", MB_ICONEXCLAMATION, NULL); } @@ -1718,29 +1705,29 @@ void SwitchToColorDepth(int bpp) { DEVMODE CurrentDevMode; BOOL res; - char MsgBuf[256+1]; EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &CurrentDevMode); - sprintf(MsgBuf, "ChangeDisplaySettings: color depth %d -> %d BPP\n", CurrentDevMode.dmBitsPerPel, bpp); - if(MessageBoxEx(0, MsgBuf, "Warning", MB_OKCANCEL | MB_ICONQUESTION, NULL)!=IDOK) return; + + if(MessageBoxLangArg(DXW_STRING_NEWCOLOR, DXW_STRING_WARNING, MB_OKCANCEL | MB_ICONQUESTION, CurrentDevMode.dmBitsPerPel, bpp)!=IDOK) + return; + //OutTraceDW("ChangeDisplaySettings: CURRENT wxh=(%dx%d) BitsPerPel=%d -> 16\n", // CurrentDevMode.dmPelsWidth, CurrentDevMode.dmPelsHeight, CurrentDevMode.dmBitsPerPel); CurrentDevMode.dmFields = DM_BITSPERPEL | DM_PELSWIDTH | DM_PELSHEIGHT; CurrentDevMode.dmBitsPerPel = bpp; res=ChangeDisplaySettings(&CurrentDevMode, CDS_UPDATEREGISTRY); if(res!=DISP_CHANGE_SUCCESSFUL) { - char *err; + WCHAR *err; switch(res){ - case DISP_CHANGE_BADDUALVIEW: err="BADDUALVIEW"; break; - case DISP_CHANGE_BADFLAGS: err="BADFLAGS"; break; - case DISP_CHANGE_BADMODE: err="BADMODE"; break; - case DISP_CHANGE_BADPARAM: err="BADPARAM"; break; - case DISP_CHANGE_FAILED: err="FAILED"; break; - case DISP_CHANGE_NOTUPDATED: err="NOTUPDATED"; break; - case DISP_CHANGE_RESTART: err="RESTART"; break; - default: err="???"; break; + case DISP_CHANGE_BADDUALVIEW: err=L"BADDUALVIEW"; break; + case DISP_CHANGE_BADFLAGS: err=L"BADFLAGS"; break; + case DISP_CHANGE_BADMODE: err=L"BADMODE"; break; + case DISP_CHANGE_BADPARAM: err=L"BADPARAM"; break; + case DISP_CHANGE_FAILED: err=L"FAILED"; break; + case DISP_CHANGE_NOTUPDATED: err=L"NOTUPDATED"; break; + case DISP_CHANGE_RESTART: err=L"RESTART"; break; + default: err=L"???"; break; } - sprintf(MsgBuf, "ChangeDisplaySettings ERROR res=%s err=%d\n", err, GetLastError()); - MessageBoxEx(0, MsgBuf, "Error", MB_OKCANCEL | MB_ICONQUESTION, NULL); + MessageBoxLangArg(DXW_STRING_ERRCOLOR, DXW_STRING_ERROR, MB_OK | MB_ICONEXCLAMATION, err, GetLastError()); } } diff --git a/host/palette.bmp b/host/palette.bmp deleted file mode 100644 index d62c0c135ba6b2ef86beced11ddc79c64f7908b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 246 zcmZ?r{l)+RWk5;;hy|dSk%0v)(EuhP1WXRX1IhpqLqh|E0+K)`!+`?_fHX+rKNvCm W{|{mTF%W`;fJ8Z+!FMRAhXMfGmR8*W diff --git a/host/res/smallicons2.bmp b/host/res/smallicons2.bmp deleted file mode 100644 index 0bdfab46f815afaa4d262294cce72f75ed84bc36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3126 zcmcJQv5w<55QZ5bfn1~rVA$OPEK|9>G9Z#V2*B2WmrtP5HJiOh*havDg^=q~x+d=6 zEz+;6;J_y^t`dttP`)9(UZvdZh4QBnWr_dHa7g|9>$~q&Y45&O>PN0T`~csm1!vmD z)Xx0u>%-occjU~aiZQDAS5#mA{9P$+zyW{g01=W>Mu7${i~|n=A|$1p0u2V}I1d3L zq>HY`8gSqtK!l_emnvv5;J`zG2ni<@XfWWwLx2cLDSj$xFyO#LfCxz$g_}x)91c7L zh>&V%T4N13@DLzEs$mNQfC#Ck#A&Pn2Oa`MNHtwvV+}a)5FkRTsSFxxz=4MV z5mHTa)K~)!JOqf4$`qKSu?8G?2oNDDPyAkKkjNd#5gNQfC#CSkWU(G zz=4MV5t53;AC(3J4m<>qBh}K<8f(CThX4^$Ejy#J1{`<@5Fyo)bQ){GfrkJQQY}}n zu?8G?2oNFFQVtqxz=4MV5mGJlsIdkdcnIpt-;?Tj&NH4;Q~9ZBk}KelTb#!KqgiVe zJP*BGuB0tjmmAx0-1gl#@~aJ>)ZCNT_V4cA-`?I{N3+e)FvP_Hwc71=ZQJg4>x)O7 z&3&Ky?L}XyM%vW_rGAn&>;EQg)+ce2zl-4U4t*S0ugeYF4NcQ$L~_wvi@3C1dm|5Y zUDIW0eJ&nU_2NN!zp57xYQLx#4{E=t7Y|DR;}HkY->r)SRz~lKVQBKu;DB9=^1kTr z#G%{`eF?a4WENiJNdbSq$ddx;U*$=G^sn-l>OueU@&5jS{E`4`2U6b*!!+b!>g>2| z*X#XW^f$|PIgVszfpd#yF?<#MkDrcDkEi>G2Lv|j(KcD8ewe1FA0`s8YDK>2m+9yS zoLe;F;iAdk&BK=j%)^%i%)^%i%)>7UI3ABrr_<-EzZvadrSixyOF#y+YI8Wq^bg5*^DpZU@okqo$pNJ>lJix&x?vXDvLT|{bv@24iaZN?mVF9jwgTz~_p$;m z{p$u$`{-ZmkJs7uI!aGcFl@_;8)e>C`$OFx$Gl+o?O7lT)?X2<9$fd+SMR^#Kv{n> z8V*qUT_+n*l}G#+wxRvy^K+KPC;Ck@7JWjNR$i{B*Y;1R6Z+2s@bO~{ZhHGXq?H8R m>^RkiGMj%hHqSS{vSsJ#y6wyNcXfln_3JBQ9ijJfG5!P1zWy=* diff --git a/locale/cn/Release/BuildLog.htm b/locale/cn/Release/BuildLog.htm new file mode 100644 index 0000000000000000000000000000000000000000..6cff08ae3b607ba4c86aa7b810d140d32308229c GIT binary patch literal 6002 zcmeI0VN)YT5Qh7+RrepZutYt*gyWP_IIM#Zlrj*6oOf4ZQG|pLNeJ!+xU>B2>htzw z*=&;21S#bMwUy0mPft%z_uD-^^XDJW?bQ0#wT^vbkL&}}chionar3=xWvkhmMfM&4 zHQTi(P=2tNwq-xss?Ax+dUlSKroW%S^Uf~#nq$myu20Vm{d27$!k|feuMc^jtgWoZ@&7-th2TzGhAC6&OQ=Wk-EV15!AZ1T*nS_ zVtPJgHJkn`+n30B&WM=*$Xl|CS|@{5MYN6>-(;k;Z}aZJk=y@!<* zO9X8~92N0Oz~b~?{X1OB`ugQ@8LTer&w|Ot0VcK9F3%Aj4Y(9eWRG+WsZ`DIfKA2A zWTfY@S#r+@X2C0`z!tr@ruxT zz?dHY$}~;Bj^RIWL}$3v_dd8+mJ82Q`@+8FSt5efTCxJtlsS~8l>w9)NAq>S!B38c zqE*THHR5O9ekC$`j95WRf!V`bQI*$Wa+DQVpYqnQoCtJn5rHK%FPrw99p+jiQ!dl0 zqFE8^RCv_dre_C!MZ-RPlW3dtSLn~{JFAWbk8kCYm^e{JQI6MlVGuWM{HS&I$JR5d zRrb?Vs`;Iby6OK_kDp#-Lt8d*d zyVz}gWLD+HY0);l#V)W;eN3BuG+D<>Z`@Pz?J^jbuQ%}PE2#2b6|@Rl^8RLyvW3k8 zr2Mhd5{1JyxjI7juY`F9K$=oE&gF z8&<>aG)v~cEtb1j=)c7A`@JjMoqM*@$)tC0@TojryQyLp$VuaMOx<_nIWoaCb<7KJ zc1%v~!N1MOb8<_%gGXa{jliUK*BJv5Tl;(RorQVbL~R??9W! zqNTVTHaYRG^WQ91PfrT>|Flyb%1hDUxJ&PBe{`c1WwqEM07rln}AyLTebLg5^un23lS-7BdU z&Q9VXPIU@td&D+8y0n9I@u%wP{Cp>Hsq)e}OgBi1YE=|xwBBE9^cfSur~O#tgWPna zG>Uv3vExSP17#Cc=~{i6?>g=5_9Yr{WcenumC$$pBWREHBv`$J9Utxpbcc2O`>WwQ zE7hdBCAbDb3I7TILR+@W%z31!K3WDTMSAYG;?1-PcasI;MEAm>P7Qv~s<`yNEaHYX zVt0B)Nj&6*NS4ILebV5^v$+oL@s60-K`>7w{+5Um0ED}-R0!_+<$j( S_D_37k;qT)rNx`wvHt~Sq})mX literal 0 HcmV?d00001 diff --git a/locale/cn/Release/Resources_CN.dll.intermediate.manifest b/locale/cn/Release/Resources_CN.dll.intermediate.manifest new file mode 100644 index 0000000..ecea6f7 --- /dev/null +++ b/locale/cn/Release/Resources_CN.dll.intermediate.manifest @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/locale/cn/Release/Resources_CN.res b/locale/cn/Release/Resources_CN.res new file mode 100644 index 0000000000000000000000000000000000000000..e2f845779cfbd794200844c9bf117740ba0534c4 GIT binary patch literal 121452 zcmeEv2UrzX^Y@}j2&8F>>B-es-x!k^2_}|UP*DMqDhP^zNV8$@iWlsPid~Ea6uV;Y z4ST}^A|1V;C@Myc29g+^?>A?6Zv!mJ|Nnf?_dMTn=kD$~bLPy9^sQYrJ?rk zt|9IkslNE*l#jHpMg-5d3$h9;3dszRAZP7dS69yYR4WCX^_3*8^qJPrEvPr=<<5L# zBWS{VVO`5oewN5FFNeo8Hjd^rqgXxAZo>U7=0Y^fuMh z+f++m`X{veUq?;?F8 z&OXwA#JP=BOPsx>IyhICUKjbVVpPca---NJrSC+(g)~HR1K$Lk-EmH zccCSTBU*2}%BGd7xYd=crD3q+R}>(MRmlBd*8YArRwReQ++{xv=Em#ny zSPGKD(55`f*sf6I48%DYULJ&+21$K!*9Uh&71YyE+5vy6{^|&>9zx#`l+Z{WAdByf zrP@Mr6QuM;nA;=Fw`e10l?J)>CbB#Swe}p1`Kh7Eu5%+ny ze?64MV{396$$-z1nlVqdxFrr*&eo%dkC*N@-Z4G4M?_ao=B|Bwo@3-7J_51gyj;4 zVP2Hih1Yp3TXaOtJZi$>S?-M*@by94nH<%sxK)v=NIRvj(p_cTI*ytUU_2*&0Yfz? zB zhkL-UJaPk+Uep6UE(l&9Xyj+sNIt5d{5O)f^p50;^4yFZeK`WnDI3>W2)lzeL0?n<#<|_<57Ew%38(Ey&R8?nyH+txb-mOX{zsS zDr*(DLFIVL>odL_PkFoMmE$q^Xz^>t{bzxwyt2OSfaUuu!SSudeMQX|?KfH}%I!z# zEonK%?>nMRqf|qca}}&(?@0eOYRk7e-5+5-!^?8M6mp8in5aljO%pl1zq>bme1N$u z^i;Qe^q)7O(=8!OEB3wh%`}tiY$YXt?{=ki+MCo_!?!rLX0Ohj%hy@O?Oo{vMuMTw zE*N>u^K*~0z8zg7#%dttzZlU?{r)JoKE5kupp>DUyk9U@wu+mL84tFzW=9pbj%GZa z%{U~i5xvcL(DsI-8uqiAD7R0fH0eF~q=tEWD*26+{0}S2M}P2A@;|C1e}Izzv3Wi; zsfxC%h81Wu_BHpEwtLHEtSh(mu5nWWdB17t5!Az=v|MJLG#&GiwN$2*`N*|~XB){) z@`BHKk6;g(12HG_eC30=M1x(92K$-`55kmy+9f1KPN;zKwZ28}rC*ut&66eMN4*t3{6;k@b3|13w!dGH;yVZEU2k zD|UM!*rl{buP{F3IjVt}7w=R$N7+jMF`7R<2>81z+fsgx;(4)wm={ZwaiZc}<2q$O z^~6ZAmVQxmyxTuyvV}`ssS5gcS>F?VIiApdb1lE$hQZ{Nt-66Gl zpP%{E+qCyqts=QuS-d5^kH2MtSKeRtG1>bp6skRI?UMICFTZxlZCh1}k~ZqwHW)jN zVQ7b7tQdW;U*ui48Z}UTB-{A0v zTSwJlsNk)u@N&D$F(p-^$`>v8CMtYYV=hlKaHu>p1kWUer?^iHWStB4Gli9k&lU;Z zJ__&Jxo%y}Ib~bg2|lgDXY5;B%=+e@mCH00WhPWm#vZdnck}?Y+!~X8)FNThv-)B! z!SV8ak>}gDv5#tlKJ~4IjB##9twEH=aPXY?w)C;o7Chf6JjV9&x)y1+OP0&j5u?6- zg=HEUD!`S@&vAe^rSB``H{FNI{69NY*(I^0DW+e*rq z@5JRYewa_+lx&nTIuS24$d-LRTth399N_r`8@Z)&o-$o0hv zzTXr+i+PK>jvpF6IY{1q>noOd7mIoy>Sb2Ow?^<+3_%r%mgqaLVbpNc zL&i&55zRI28yt1gs~|48oF#TmLD(m$G9U6IT4*A)o zyv{tQ_J=Mzq#Jsf#(JpZOCxbv^VJsfgof+;Ow{+9QlE`)o#~|^=UrNa`gG;JUjvT` z?sBBtpsB29U1==V9c!hWt6%d89CedizK#AW@Z)*+OlBl`P8y0R*D#d%QYkam_3cjg zJ-L1Fd0v^hvWKAtmETVA*Hiez8(5WtY@sTchxc* zM41sv8LlB1E5Ez~9PzBGO_3XVHe!72c4^ zW8K;*?OyR%+bv{|RQS_pUhyuSU#Tt_E5`)?QiWgc^Stsk#(ddCIyXz+tF|*)$9@rt zK5HGTEjV6&9pkpE2Bg~?ZSlJ@XR%*-cTw@a`E7XoO{uD)f9(7V6L>#j>`7T>kmwJu zD10k>B#degD;*`~Zu5+hBq3tOIF0vt%k^^-molGyrLr(rJmRPnA2_kqONs2 z^L}bV1$eER)IyZ0u9V?%z@?ryzN=xM8HTz(Rm!Cf{k9W77f_$JsXmbP@)kb*kHX9N zg6sIp+ce%T^Ntj9e^7YY|DCal1mHPI8$|IP5f|-*aq5Y0<3ld{39!_g(yK~Ye%izJ zl;@i$>ZqphU2qTT&TSkqv(Rjot>QLUs)^mSA-=&e5pxX5v5DJKEpQq5DvE==YGKM# zQ5nd((W<1|kz*7t!eg-42jnRk|e1}Ma`GK|9!nD4MWPN7F^R=-U zC9d)SF{|o`yZj->O_YH{$$!H_&i}Kbe8gQ2BG$;||EeTEQ^|i^N&at2{@<14TU*HT zpP1)EQ|>$S5$EfUzT>0x3FCF&5q-Tsp7adH&cw|u0>lw9?2J5{XrKmdYk+&(otYe_S|2-8QPtLp^@s`V3&oRF86FK7&GJhYz-&^75 zG5Y2F4?WDe*@hWdTNhw_sWvcA#dFMT$b3^;sL14TBVtUxi7vBUCd}mL(8h;6E`JbZ z7Aa+zzg_swFkVlLdF8oowG@q~cB&rr=VcA8SdZ;O=3+%AW7xa>>&p*96rpn6$ztw( zU*Y4qSA%^)AGGFocs|I_3Dr_-OtAYBA>~=?%-e$FpRF@*B1%~kdpBD}FSq$WnRt$M ze-mTsOYk&Qcpgsw%50Uc;?@wD>Ib7fRO)|qCdUl#^iCULGESkZ>|aYM26L(E-*(tP zdrG|9P@JZmLrPvB|tLXWUTqaTM<)MAAcb@ z{#ie+4tzBnx>Qkg;q{uw_nw*U!W)_GcG)-8fsZ&o{D#8+^ZX#eFNJ;OTf+pE%Kh~< z=@s$R+ho#6dk;mw-4%+uA+%U|`O>UEjd zS@3?L@K%i(9Kv!-Ll{Y_obp-bZz%X{o9R)pKYRpl9fg&^@ryhTq&7M3D%tQZ*#oDgU1B(|9j7}J38b@cj@#yE=w`wYK8UOG* zVgsZ3X+e42*0i8N2}nyvwIU)e4C$}~k5<2P>26m7pyRZ@l20tMJNg@oiXx&IWEfD5C+%?^7(pmFc^A#_v-&;CZ-U zKqU6Qe1SKDp8a-566)4~SC*e3NpB?4pZgvS>|hN!Y9Y(jk(mi+oJA7ecfEI`8+7gTWccE5zz=&$(&Q} zkJZq>-b8r(Y}Od1b2-(AZ?A;=Wo<+AsLN zSNOQ!-}9_Hgl({&9vfj?ugsq)_!}tvJeND77q&HK#I?-3Q1Es%;tj_9%x{ME4Du@X z%(5E1$nm+(3O~;aUY?D^j|T8OyVWJ8(^rAU)o>m0c*e?Qx)_ylbRV$j;517U7%c0f z6}-U;@8!soGdp+nbbZT(V|n9;uIypDI?D2QiZbC!898pivB@TgCUrohbNo<_j5?aV z2PoG!Sd{IhlzlbgwZUC5yLka0v=ebh4SJys;s6bd%~E_9F3OI6X4wXnl=Ty3$0%j} z7yKZN9~vRm?A_XbPvmQZ*#_eZWnJAwnMkD!uM=MdJ`vHr@CqC6mne8*c1F* zstWeKpJ4BAEd?k#>q2Bs^PMcOAJq|q>;c}U3a?d<^xo54Ic6@GsTyPYo`ziJ2gEO| zrS3`@_BD^KO@qdngra2L7C=7MQjo&SZ)n&$ow4<*3%L*v$3A-MI@Hryk!K)`jC*-C!PbA+kN!YA=a z=Y6${BD0QW;6|aQ2t4o+@BU9rr@e?2kuE~JM@L0gcDp>)*(7 z5VHC!vf2v0xRtrT_JB70=6Miwl-r2kXXn=Dx5&c zw`FCs1N&wf_Q_oDD5c(ZV!X>OEhF$Y*iE|OxePyJ?Tl|_2`h+iZK$#^3k=a%AHER*71xfQ1>sM`Ya_?HE8TgiS8 zf#e8`>VDw50wEUYf9hXDj4Rf!lT-ugDnG9_{4PDq=`UJd{RM`>V;c08c9=c+w=z7! zcx>`mHT+)VC(L^Wnck2&5K;}l=CHw&5e;fLe9Ldmd@H?%a;)=UQAVCwTp+tI?u~!x zztFQx>Tb^4e7JbK9g$IswI8>_1BV@mzUJB zV@IiV>()|}CQT&mXp-FANScFp$EhSmI+1Zt%D8z`ie0-A71@F~)WdqG$hWpgvqhRM z(rh`6WR_5*hax=`>7hsuMLHLYLwX$2<8Tv)^f;vBB&8rd1?eeBPeDQo(h2wMBT5l9 z+v3|6_1i*_EehF6B#G+rWeXi_p@S`Su!RmnCFo!a9c-b4Ep)Jj4nj@nU<(~=p@S`S zu!Rmnb?9IV9c-b4Ep)Jj4z`3e=wS;zY*`Qd>3!aQf!er<8$ zq@XUsw{Riqk^gWn+{@m9R;W7;T*B3;I}SR~ zq@(^g)E|fXxryRXe;j-h2OZ*|Lmd3T%?7Us>yd&pzPTCUgA~-40^L%eM+)i_P0M<~ z2Px1ah4p}8qPbBh1-hg_mlPGtj0(t`&Nq(A=nL%RQ%q{R4mjAJdl%VU5~kSFd~F5i;$r2JuRZCxUc z@>z09S(&wUSy@?S*)Ni=*6|{|Do;`pO5sRKQd3^yED9yPpHz}0UsWo@+Irjegl9QG zw%*(U!XtX0$aj^hXKig`^Nn0br99;_gyki|0~NTSUY&aNKCDy6*~7!f!^Xp=cD)*= z0$_SlNf`)V@8kM?(`@~n^|o!Wzj6mCZC_Sm;s9&w9q)63>;P-)8Fj>+UaHB3wY8Iz zlg&4>159$Baf4>JM1NJf0PakAVR;>A=Wk#>AI{FWGi4}w|NWA(k`nl!tb~1GR$gUR z%>TO*2guf!mO_Y;fv|qZj`tM@U~J5oF{92i9Dv4$1HKUsQ0sl(Sy*q0LvDZTBohbJ zu2bh5XJ?o#oA1Gwbv*PklVCcUKFQKDDG5zf@;<(~4^-d-z5NwAK(*drKhFWedbVFU zKv>WATNpV=uZg&T{cwOa>^DuX{Lb1MZO_)jfFvFQu*KR?`hC&w72Cy$ol!?G4~5Ds z*=Tq{eDO%Acnlcq|J!_g8my1gw?C($?fHQH??W@RJs)+R;Q(tVc7V0@3)_#@maVt6 zR(yaHhJtF~j5^;K8;@)52sY{rUCr=F4TUjm9+mF_lt(Wb8Uo~IYFNT0Yg8mA_9}YmBdIR)X6<)x4VK+LzC5b;v z%mtRD7I&&shs_tA--oYojT;+v2Cyu9KZ%VlgV#Xly-8)IW$*Ji5F>y!QM$WP^CQKe zjj{DsR=XAZIlof-E#w|xkipgPQ6i>4%>OTFe-f;Q{piHPYT*F%2X=rwfNR&mobMs# zKE-?wk2*FUKF(qWfZb?&w%Uq258H29Vp)puz(atCFJ^peWyUwMU-d2wFty&w$_4h9 zDfuS$H?yuScYhxLY`?*JRFt&CigxUP{XG5g{BM$N%xZFNokYs4hYS4SklP>0g0VIl z9ODfupO0$4jYsVnNaXCYq(4(2wD@^20C}FjGepJ-% zC?+e2RQzLXe>1dyZP@|F_G7xnpOO6-{_^~9Ji%~vN*6}S^S@k!Vm}e4f41M6hX9f2{&i#@VYT9q+Wx%#QRaW683xi4$H9I$ zppIeXdh$dxzq0F-w?N$e(V*P^mSP5|G3SXh%#XvLu${kai?(MKG1-wLkum9V;tgzcnWIojYgj+-WraW&71O zwB8}le-Ng0A=VPdu|zlk_B*39%PIUVmOkdi0bj7$qB{r=$P<9mlP8z~0YKHphy6CH zgc?}=;^N=|*p2>=)lcpOWmpN5Fap3QIsgxXZG2U6`zz)PHKNSy7uLf8Xnw3~Z~*2& z*#T@I4}5O_Bx|tn{3q^JKE+=Z|cQbz-C=M)##wlOgu zey~wRV985@Yj(WPlF{qIb zy#pYGi?HHsKY9tV{XG4Z@%(RW|FIQ`YgewDJOlH#jb3|{=VcB8SPHLys`VlPI|9+p zHXi!cSNnk40m|ay=ETKWTE_7#0KF}D@-C>X%<6Ss3d-1iWd^X`zTIHIk@;f$$GMcU z4tzxIwlbdo(W-nHtXF!#j2RX@{;hdeh-}gR>;Sgk#;L4~%=Z6@iHU31t=lZyuWHZs z!)!KMHXprTg#cnxEcEnX^X1;Jp8;*^3D5BI7grVsyI-HfW@F5Avtt;P@=Bm=fJEO< zNO*?*)(h44w_Xxuy#77mZq4?qjW5pfK9JXcwqNAS{U3}wuy{R&Cd2?xR+7J0u>G5N z?%Y{}JAghNj>DiA4&cQf<6r3kJTYPgWJb~ZjqJDKX;2YS2GoZ?aR37%0Dv2H4wT2g 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 A-~a#s literal 0 HcmV?d00001 diff --git a/locale/cn/Resources_Cn.aps b/locale/cn/Resources_Cn.aps new file mode 100644 index 0000000000000000000000000000000000000000..d99581527505f0696a0853ecfc93c81f887211bc GIT binary patch literal 148804 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 literal 0 HcmV?d00001 diff --git a/locale/cn/Resources_Cn.ncb b/locale/cn/Resources_Cn.ncb new file mode 100644 index 0000000000000000000000000000000000000000..eadc44ba59088b0d429b78bd05b1bd5a848d03b8 GIT binary patch literal 84992 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 Kr`Wz*S^qzsHqPGw literal 0 HcmV?d00001 diff --git a/locale/cn/Resources_Cn.vcproj b/locale/cn/Resources_Cn.vcproj new file mode 100644 index 0000000..f329caa --- /dev/null +++ b/locale/cn/Resources_Cn.vcproj @@ -0,0 +1,259 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/release/Resources_CN.pdb b/release/Resources_CN.pdb new file mode 100644 index 0000000000000000000000000000000000000000..c9a49058fbe794b70a951975848fa574eda0d640 GIT binary patch literal 19456 zcmeHMO=w(I6uxg#n@M7SrV%YcR)KaXl|a;waE5tM%0%)O1O$PH z9D!?3uL=nQg1|OKAo=OP+w{-nw*>(~;1h4e`Rt!BXS<-s?C-z)-mlqrCN4}q_ScU; zocNY{{&2QjJ$t-*s-}jkg@rKI#sF*r^u~;hC+~++%n9Bt7bNwH3dDw@M zdr0ZE-3{JGYdd><`c=YradXyo1p?}oT`$eAvyJ4!N?3@)AQ#59#i$s@`OLJ(>S{oZ zr5q|MdzC6e<}@BJDq)8s?{MnLW*H)=HZa3cDTJ9lMpMzj&Y&&M%%e zeJ0qatJGJ&JIy|^-JuQpoO!~07g?1+pWqzuM-1=HpG|$%Y4Ju`Q%DfFKM2@a&iTl7 zfr)m94xh#p)iV<;&SB1F^#@|B|07FE>!*{?{}bO|^7l=@TfOl4<&UrZeZ$vc%S#a0 zwg}JzGSD-8-2x!zKesVC|LuH`cxxlT^?$Bs#G#)5h*B#%VZV2)r1tMMP?ko>B3ODH z36sx40Wh?>YGaeKc~jb_elrQJHn7oPW2IT5*3scxt^jE9YiRQ@@9({#>DtQ3|7VHK z8}4rPb?fg;iG8!U-A;P;JMX%!s_h3?rEQ*Vm}a@Q5nTTk9#t)pwgJ#iXPPhaSgvh= z+jw2D%6fDs4&*kHQ-3pMiB=hPHTq{rwjSezmdep@@-}eCtUm^5d-Lkes}x16Qfq%` z%^{>gX8)h<87P~f-nKLtLJtf9s{HE_$D&;~m_fxI7^pnrZxFLB_YGLLik`o21YQNu zETCUuHv;w)AwfV8=uiaY{;xv^M#K^XHUWWM=%a-22EsT3&wNB}`q!O#p8v2AT4z7c zdAa{52ttCu!-YWKPa_W3y;kO%#y}FQpZa^(c`}3q0YPA^A|UI3tB$Pvmmsh)0@i=~ zg08x@1NSbx@l+S+!nH14eyu&typSLu2y_?%eUL}={|*}z5l0Z%Bn0-LpH~p9|L