From cad6787a939976a94565d8bc49dee845ddb24bfc Mon Sep 17 00:00:00 2001 From: gho tik Date: Sun, 25 Oct 2015 12:42:17 -0400 Subject: [PATCH] v2_03_42_src Former-commit-id: 29c49f60b95269d049c991e7f9abd6cf2cfc8d1b --- Include/dxwnd.h | 2 +- build/dxwnd.dll | 4 +- build/dxwnd.exe | 4 +- build/dxwnd.ini | 163 ++++++++++++++++++ build/exports/Fifa 99 (Direct3D).dxw | 3 +- build/exports/Fin-Fin.dxw | 6 +- build/exports/Imperialism II.dxw | 12 +- build/exports/Imperialism.dxw | 14 +- build/exports/Men in Black.dxw | 32 ++++ build/exports/Take no Prisoners.dxw | 3 + build/exports/Virtua Fighter.dxw | 32 ++++ build/exports/dxwnd.ini | 5 - build/redist/S3DTKW.DLL | Bin 0 -> 72704 bytes build/registry/dxwnd.688IHK.reg | 15 -- build/registry/dxwnd.Die Hard Trilogy.REG | 69 -------- build/registry/dxwnd.Hercules.REG | 14 -- build/registry/dxwnd.Requiem.reg | 10 -- build/registry/dxwnd.Settlers 3.REG | 29 ---- build/registry/dxwnd.SimCity 2000.reg | 47 ----- build/registry/dxwnd.Street Fighters Zero.REG | 7 - build/registry/dxwnd.chaos island.REG | 16 -- build/registry/dxwnd.close combat 2.REG | 28 --- build/registry/dxwnd.road rash.reg | 13 -- build/registry/dxwnd.tak.reg | 15 -- build/registry/dxwnd.the Divide.REG | 20 --- build/registry/dxwnd.the Hive.reg | 27 --- build/registry/dxwnd.the Industry Giant.reg | 9 - dll/ddraw.cpp | 46 +++++ dll/dxhook.cpp | 2 +- dll/dxwnd.cpp | 2 +- dll/dxwnd.vs2008.suo | Bin 76288 -> 105472 bytes dll/gdi32.cpp | 44 +++-- dll/msvfw.cpp | 24 ++- dll/user32.cpp | 20 ++- dll/winproc.cpp | 22 ++- host/TabSysLibs.cpp | 1 + host/TargetDlg.cpp | 1 + host/TargetDlg.h | 1 + host/dxwndhost.aps | Bin 161160 -> 161096 bytes host/dxwndhost.rc | Bin 105780 -> 105982 bytes host/dxwndhost.vs2008.suo | Bin 23040 -> 27648 bytes host/dxwndhostView.cpp | 2 + host/host.aps | Bin 47496 -> 47496 bytes host/resource | Bin 37548 -> 37448 bytes 44 files changed, 378 insertions(+), 386 deletions(-) create mode 100644 build/dxwnd.ini create mode 100644 build/exports/Men in Black.dxw create mode 100644 build/exports/Virtua Fighter.dxw delete mode 100644 build/exports/dxwnd.ini create mode 100644 build/redist/S3DTKW.DLL delete mode 100644 build/registry/dxwnd.688IHK.reg delete mode 100644 build/registry/dxwnd.Die Hard Trilogy.REG delete mode 100644 build/registry/dxwnd.Hercules.REG delete mode 100644 build/registry/dxwnd.Requiem.reg delete mode 100644 build/registry/dxwnd.Settlers 3.REG delete mode 100644 build/registry/dxwnd.SimCity 2000.reg delete mode 100644 build/registry/dxwnd.Street Fighters Zero.REG delete mode 100644 build/registry/dxwnd.chaos island.REG delete mode 100644 build/registry/dxwnd.close combat 2.REG delete mode 100644 build/registry/dxwnd.road rash.reg delete mode 100644 build/registry/dxwnd.tak.reg delete mode 100644 build/registry/dxwnd.the Divide.REG delete mode 100644 build/registry/dxwnd.the Hive.reg delete mode 100644 build/registry/dxwnd.the Industry Giant.reg diff --git a/Include/dxwnd.h b/Include/dxwnd.h index c1d4cec..c018474 100644 --- a/Include/dxwnd.h +++ b/Include/dxwnd.h @@ -207,7 +207,7 @@ #define REUSEEMULATEDDC 0x00800000 #define CREATEDESKTOP 0x01000000 // creates a virtual desktop window to replace the real one #define NOWINDOWHOOKS 0x02000000 // do not intercept window callback routines -//#define NOMOUSEPROC 0x04000000 // don't process mouse x,y coordinates twice in WindowProc and MessageHook hookers +#define SYNCPALETTE 0x04000000 // Syncronize GDI to DDRAW palette // logging Tflags DWORD: #define OUTTRACE 0x00000001 // enables tracing to dxwnd.log in general diff --git a/build/dxwnd.dll b/build/dxwnd.dll index 164a363..95f92cb 100644 --- a/build/dxwnd.dll +++ b/build/dxwnd.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d724989d76de31cdefc98848587998e2e3464ea49793397892e068d37db2c730 -size 593408 +oid sha256:aea2bada6a8f9329392fea5ab8975c3751d32c6a84c8f02924cdef0f42854dca +size 595456 diff --git a/build/dxwnd.exe b/build/dxwnd.exe index a960b3c..2f0682e 100644 --- a/build/dxwnd.exe +++ b/build/dxwnd.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:17c20de2bcab09a41568811d8227ff38f2411dd95c133e1252e2852293ab643f -size 545280 +oid sha256:d242c24095ab0e76e32fe9d98821ab993f406512317a733859b531f466d160f7 +size 545792 diff --git a/build/dxwnd.ini b/build/dxwnd.ini new file mode 100644 index 0000000..e99a2ff --- /dev/null +++ b/build/dxwnd.ini @@ -0,0 +1,163 @@ +[window] +exportpath=D:\DxWnd\exports\ +posx=1231 +posy=493 +sizx=320 +sizy=200 +exepath=D:\Games\Men in Black\ +[target] +title0=Fin-Fin +path0=D:\Games\Fin-Fin\v90seger\teoboot.exe +launchpath0=D:\Games\Fin-Fin\v90seger\FinFin.exe +module0= +opengllib0= +notes0= +registry0= +ver0=0 +coord0=0 +flag0=-1465909214 +flagg0=1207959552 +flagh0=20 +flagi0=205520900 +flagj0=4224 +flagk0=327680 +tflag0=0 +initx0=0 +inity0=0 +minx0=0 +miny0=0 +maxx0=0 +maxy0=0 +posx0=50 +posy0=50 +sizx0=800 +sizy0=600 +maxfps0=0 +initts0=0 +winver0=0 +maxres0=-1 +swapeffect0=0 +title1=Men in Black +path1=D:\Games\Men in Black\MiBd.exe +launchpath1= +module1=RWL21 +opengllib1= +notes1= +registry1= +ver1=0 +coord1=0 +flag1=136314914 +flagg1=1209008128 +flagh1=20 +flagi1=138412036 +flagj1=4224 +flagk1=327680 +tflag1=-2147477245 +initx1=0 +inity1=0 +minx1=0 +miny1=0 +maxx1=0 +maxy1=0 +posx1=50 +posy1=50 +sizx1=800 +sizy1=600 +maxfps1=0 +initts1=0 +winver1=0 +maxres1=-1 +swapeffect1=0 +title2=STCC Swedish TouringCar Championship +path2=D:\Games\STCC\STCC.exe +launchpath2= +module2= +opengllib2= +notes2=Still slow and choppy in emulation mode +registry2= +ver2=0 +coord2=0 +flag2=136314914 +flagg2=1207959552 +flagh2=-2147483628 +flagi2=138412036 +flagj2=268439680 +flagk2=69632 +tflag2=-2147477245 +initx2=0 +inity2=0 +minx2=0 +miny2=0 +maxx2=0 +maxy2=0 +posx2=50 +posy2=50 +sizx2=800 +sizy2=600 +maxfps2=0 +initts2=0 +winver2=0 +maxres2=-1 +swapeffect2=0 +title3=DOSBox.exe +path3=D:\Program Files (x86)\DOSBox-0.74\DOSBox.exe +launchpath3= +module3= +opengllib3= +notes3= +registry3= +ver3=0 +coord3=0 +flag3=681574434 +flagg3=1744830464 +flagh3=20 +flagi3=138412036 +flagj3=4224 +flagk3=327680 +tflag3=0 +initx3=0 +inity3=0 +minx3=0 +miny3=0 +maxx3=0 +maxy3=0 +posx3=50 +posy3=50 +sizx3=800 +sizy3=600 +maxfps3=0 +initts3=0 +winver3=0 +maxres3=-1 +swapeffect3=0 +title4=Imperialism +path4=D:\Games\Imperialism\Imperialism.exe +launchpath4= +module4= +opengllib4= +notes4=Note:\nMap zooming is currently not workind. Do not click on the magnifying glass, \nor the game will crash. +registry4= +ver4=0 +coord4=0 +flag4=1746935843 +flagg4=1209008128 +flagh4=20 +flagi4=4194308 +flagj4=128 +flagk4=0 +tflag4=0 +initx4=0 +inity4=0 +minx4=0 +miny4=0 +maxx4=0 +maxy4=0 +posx4=50 +posy4=50 +sizx4=800 +sizy4=600 +maxfps4=0 +initts4=0 +winver4=0 +maxres4=-1 +swapeffect4=0 diff --git a/build/exports/Fifa 99 (Direct3D).dxw b/build/exports/Fifa 99 (Direct3D).dxw index f8c3673..9ebbd8a 100644 --- a/build/exports/Fifa 99 (Direct3D).dxw +++ b/build/exports/Fifa 99 (Direct3D).dxw @@ -27,5 +27,6 @@ initts0=0 winver0=0 maxres0=-1 notes0= -flagk0=0 +flagk0=65536 swapeffect0=0 +registry0= diff --git a/build/exports/Fin-Fin.dxw b/build/exports/Fin-Fin.dxw index 321cc05..9b57ce1 100644 --- a/build/exports/Fin-Fin.dxw +++ b/build/exports/Fin-Fin.dxw @@ -1,17 +1,17 @@ [target] title0=Fin-Fin path0=D:\Games\Fin-Fin\v90seger\teoboot.exe -launchpath0=D:\Games\Fin-Fin\v90seger\FinFin.exe +launchpath0= module0= opengllib0= notes0= registry0= ver0=0 coord0=0 -flag0=-1465909214 +flag0=136314914 flagg0=1207959552 flagh0=20 -flagi0=205520900 +flagi0=138412036 flagj0=4224 flagk0=327680 tflag0=0 diff --git a/build/exports/Imperialism II.dxw b/build/exports/Imperialism II.dxw index edc1d09..877dcee 100644 --- a/build/exports/Imperialism II.dxw +++ b/build/exports/Imperialism II.dxw @@ -6,9 +6,9 @@ opengllib0= ver0=0 coord0=0 flag0=679485474 -flagg0=1207959552 -flagh0=32788 -flagi0=4 +flagg0=1209008128 +flagh0=20 +flagi0=4194308 tflag0=0 initx0=0 inity0=0 @@ -24,3 +24,9 @@ maxfps0=0 initts0=0 winver0=0 maxres0=0 +launchpath0= +notes0= +registry0= +flagj0=0 +flagk0=262144 +swapeffect0=0 diff --git a/build/exports/Imperialism.dxw b/build/exports/Imperialism.dxw index 1678029..7c57902 100644 --- a/build/exports/Imperialism.dxw +++ b/build/exports/Imperialism.dxw @@ -5,11 +5,11 @@ module0= opengllib0= ver0=0 coord0=0 -flag0=1744839201 -flagg0=134217728 -flagh0=32788 +flag0=1746935843 +flagg0=1209008128 +flagh0=20 flagi0=4194308 -tflag0=6466 +tflag0=0 initx0=0 inity0=0 minx0=0 @@ -24,3 +24,9 @@ maxfps0=0 initts0=0 winver0=0 maxres0=-1 +launchpath0= +notes0=Note:\nMap zooming is currently not workind. Do not click on the magnifying glass, \nor the game will crash. +registry0= +flagj0=128 +flagk0=0 +swapeffect0=0 diff --git a/build/exports/Men in Black.dxw b/build/exports/Men in Black.dxw new file mode 100644 index 0000000..c21f90b --- /dev/null +++ b/build/exports/Men in Black.dxw @@ -0,0 +1,32 @@ +[target] +title0=Men in Black +path0=D:\Games\Men in Black\MiBd.exe +launchpath0= +module0= +opengllib0= +notes0= +registry0= +ver0=0 +coord0=0 +flag0=136314914 +flagg0=1207959552 +flagh0=20 +flagi0=138412036 +flagj0=4224 +flagk0=67436544 +tflag0=0 +initx0=0 +inity0=0 +minx0=0 +miny0=0 +maxx0=0 +maxy0=0 +posx0=50 +posy0=50 +sizx0=800 +sizy0=600 +maxfps0=0 +initts0=0 +winver0=0 +maxres0=-1 +swapeffect0=0 diff --git a/build/exports/Take no Prisoners.dxw b/build/exports/Take no Prisoners.dxw index 9040b3b..1f21887 100644 --- a/build/exports/Take no Prisoners.dxw +++ b/build/exports/Take no Prisoners.dxw @@ -27,3 +27,6 @@ notes0= flagj0=128 winver0=0 maxres0=0 +registry0= +flagk0=65536 +swapeffect0=0 diff --git a/build/exports/Virtua Fighter.dxw b/build/exports/Virtua Fighter.dxw new file mode 100644 index 0000000..f6995fa --- /dev/null +++ b/build/exports/Virtua Fighter.dxw @@ -0,0 +1,32 @@ +[target] +title0=Virtua Fighter +path0=D:\Games\Virtua Fighter\VFPC.EXE +launchpath0= +module0= +opengllib0= +notes0= +registry0= +ver0=0 +coord0=0 +flag0=136314914 +flagg0=1207959552 +flagh0=20 +flagi0=134217732 +flagj0=4224 +flagk0=327680 +tflag0=0 +initx0=0 +inity0=0 +minx0=0 +miny0=0 +maxx0=0 +maxy0=0 +posx0=50 +posy0=50 +sizx0=800 +sizy0=600 +maxfps0=0 +initts0=0 +winver0=0 +maxres0=-1 +swapeffect0=0 diff --git a/build/exports/dxwnd.ini b/build/exports/dxwnd.ini deleted file mode 100644 index 33f790b..0000000 --- a/build/exports/dxwnd.ini +++ /dev/null @@ -1,5 +0,0 @@ -[window] -posx=1363 -posy=191 -sizx=320 -sizy=542 diff --git a/build/redist/S3DTKW.DLL b/build/redist/S3DTKW.DLL new file mode 100644 index 0000000000000000000000000000000000000000..00a8e5d9be51949f6c051aa53042ccd8be171bba GIT binary patch literal 72704 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 I>on&70jcMwU;qFB literal 0 HcmV?d00001 diff --git a/build/registry/dxwnd.688IHK.reg b/build/registry/dxwnd.688IHK.reg deleted file mode 100644 index 997c54f..0000000 --- a/build/registry/dxwnd.688IHK.reg +++ /dev/null @@ -1,15 +0,0 @@ -# 688I Hunter Killer: nocd patch - -[HKEY_LOCAL_MACHINE\SOFTWARE\Jane's Combat Simulations] - -[HKEY_LOCAL_MACHINE\SOFTWARE\Jane's Combat Simulations\688I Hunter-Killer] - -[HKEY_LOCAL_MACHINE\SOFTWARE\Jane's Combat Simulations\688I Hunter-Killer\1.0] -"cdInstallPath"="d:\\games\\688\\" -"sfxInstallPath"="d:\\games\\688\\sfx\\sfx.agg+" -"midiInstallPath"="d:\\games\\688\\midi" -"objectsInstallPath"="d:\\games\\688\\objects" -"graphicsInstallPath"="d:\\games\\688\\graphics" -"booksInstallPath"="d:\\games\\688\\books" -"rootInstallPath"="d:\\games\\688\\" - diff --git a/build/registry/dxwnd.Die Hard Trilogy.REG b/build/registry/dxwnd.Die Hard Trilogy.REG deleted file mode 100644 index 3b1826b..0000000 --- a/build/registry/dxwnd.Die Hard Trilogy.REG +++ /dev/null @@ -1,69 +0,0 @@ - -[HKEY_LOCAL_MACHINE] -[HKEY_LOCAL_MACHINE\SOFTWARE] -[HKEY_LOCAL_MACHINE\SOFTWARE\Die Hard] -"Install Directory"="d:\\games\\Die Hard Trilogy" -"FMV Installed"=dword:00000000 -"Data Installed"=dword:00000001 -"Abnormal Termination"=dword:00000000 -"StartupFolder"="Fox Interactive" -"Version"="1.00" - -[HKEY_LOCAL_MACHINE\SOFTWARE\Die Hard\Configuration] -"complexity"=dword:00000000 -"cutoff"=dword:00000000 -"perspective"=dword:00000000 -"Quality"=dword:00000000 -"Use Hardware"=dword:00000000 -"Preferred Height"=dword:00000258 -"Preferred Width"=dword:00000320 -"lighting"=dword:00000001 -"texture quality"=dword:00000000 -"Language"=dword:00000000 - -[HKEY_LOCAL_MACHINE\SOFTWARE\Die Hard\d1] -"Input"=dword:00000000 -[HKEY_LOCAL_MACHINE\SOFTWARE\Die Hard\d1\Keyboard] -"keyboard"=dword:00000001 -"speed"=dword:00000000 -"sensitivity"=dword:00000000 -[HKEY_LOCAL_MACHINE\SOFTWARE\Die Hard\d1\Joystick] -"joystick"=dword:00000001 -"speed"=dword:00000000 -"sensitivity"=dword:00000000 -[HKEY_LOCAL_MACHINE\SOFTWARE\Die Hard\d1\Mouse] -"mouse"=dword:00000001 -"speed"=dword:00000000 -"sensitivity"=dword:00000000 -[HKEY_LOCAL_MACHINE\SOFTWARE\Die Hard\d2] -"Input"=dword:00000000 -[HKEY_LOCAL_MACHINE\SOFTWARE\Die Hard\d2\Keyboard] -[HKEY_LOCAL_MACHINE\SOFTWARE\Die Hard\d2\Keyboard\speed] -[HKEY_LOCAL_MACHINE\SOFTWARE\Die Hard\d2\Keyboard\sensitivity] -[HKEY_LOCAL_MACHINE\SOFTWARE\Die Hard\d2\Joystick] -[HKEY_LOCAL_MACHINE\SOFTWARE\Die Hard\d2\Joystick\speed] -[HKEY_LOCAL_MACHINE\SOFTWARE\Die Hard\d2\Joystick\sensitivity] -[HKEY_LOCAL_MACHINE\SOFTWARE\Die Hard\d2\Mouse] -[HKEY_LOCAL_MACHINE\SOFTWARE\Die Hard\d2\Mouse\speed] -[HKEY_LOCAL_MACHINE\SOFTWARE\Die Hard\d2\Mouse\sensitivity] -[HKEY_LOCAL_MACHINE\SOFTWARE\Die Hard\d3] -"Input"=dword:00000000 -[HKEY_LOCAL_MACHINE\SOFTWARE\Die Hard\d3\Keyboard] -[HKEY_LOCAL_MACHINE\SOFTWARE\Die Hard\d3\Keyboard\speed] -[HKEY_LOCAL_MACHINE\SOFTWARE\Die Hard\d3\Keyboard\sensitivity] -[HKEY_LOCAL_MACHINE\SOFTWARE\Die Hard\d3\Joystick] -[HKEY_LOCAL_MACHINE\SOFTWARE\Die Hard\d3\Joystick\speed] -[HKEY_LOCAL_MACHINE\SOFTWARE\Die Hard\d3\Joystick\sensitivity] -[HKEY_LOCAL_MACHINE\SOFTWARE\Die Hard\d3\Mouse] -[HKEY_LOCAL_MACHINE\SOFTWARE\Die Hard\d3\Mouse\speed] -[HKEY_LOCAL_MACHINE\SOFTWARE\Die Hard\d3\Mouse\sensitivity] - -[HKEY_LOCAL_MACHINE\SOFTWARE\Die Hard\Sound] -"Music Volume"=dword:000000ff -"Music Mute"=dword:00000000 -"SFX Volume"=dword:000000ff -"SFX Mute"=dword:00000000 - -[HKEY_LOCAL_MACHINE\SOFTWARE\Fox Interactive] -[HKEY_LOCAL_MACHINE\SOFTWARE\Fox Interactive\Die Hard Trilogy] -[HKEY_LOCAL_MACHINE\SOFTWARE\Fox Interactive\Die Hard Trilogy\1.0] diff --git a/build/registry/dxwnd.Hercules.REG b/build/registry/dxwnd.Hercules.REG deleted file mode 100644 index 0bcb9f8..0000000 --- a/build/registry/dxwnd.Hercules.REG +++ /dev/null @@ -1,14 +0,0 @@ - -[HKEY_LOCAL_MACHINE\SOFTWARE] -[HKEY_LOCAL_MACHINE\SOFTWARE\Disney Interactive] -[HKEY_LOCAL_MACHINE\SOFTWARE\Disney Interactive\Hercules] -[HKEY_LOCAL_MACHINE\SOFTWARE\Disney Interactive\Hercules\1.00] -"DATA"="DATA\\" -"User Path"=".\\" -"BitVersion"="32 Bit" -"PATH"=".\\" -"EntryPoint"=".\\Hercules.exe" -"Help"=".\\hercules.hlp" -"Uninstall"="C:\\WINDOWS\\uninst.exe -fC:\\Hercules\\DeIsL1.isu" -"Config"=hex:05,ca,ab,07,01,01,01,00,03,01,01,00,01,01,01,00,ff,3f,00,00,01,00,ff,ff,03,00,00,00,26,00,28,00,25,00,27,00,58,00,5a,00,43,00,44,00,53,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 - diff --git a/build/registry/dxwnd.Requiem.reg b/build/registry/dxwnd.Requiem.reg deleted file mode 100644 index 71b12c0..0000000 --- a/build/registry/dxwnd.Requiem.reg +++ /dev/null @@ -1,10 +0,0 @@ -# Requiem Avenging Angel: DirectX version patch - -[HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\DirectX] -"Version"="4.07.00.0704" - -[HKEY_LOCAL_MACHINE\Software\Microsoft\DirectX] -"Version"="4.07.00.0704" - -[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectX] -"Version"="4.07.00.0704" diff --git a/build/registry/dxwnd.Settlers 3.REG b/build/registry/dxwnd.Settlers 3.REG deleted file mode 100644 index f478303..0000000 --- a/build/registry/dxwnd.Settlers 3.REG +++ /dev/null @@ -1,29 +0,0 @@ -REGEDIT4 - -[HKEY_LOCAL_MACHINE\SOFTWARE\Bluebyte] - -[HKEY_LOCAL_MACHINE\SOFTWARE\Bluebyte\Siedler3] - -[HKEY_LOCAL_MACHINE\SOFTWARE\Bluebyte\Siedler3\1.0] - -[HKEY_LOCAL_MACHINE\SOFTWARE\Bluebyte\Siedler3\1.0\Patches] -"convert"="0" - -[HKEY_LOCAL_MACHINE\SOFTWARE\Bluebyte\Siedler3\1.0\General] -"Resolution"=dword:00000000 -"NoAlpha"=dword:00000000 -"FogSpeed"=dword:00000003 -"GDIMouse"=dword:00000000 -"WaitVBlank"=dword:00000001 -"ScrollMode"=dword:00000001 -"ScrollSpeed"=dword:00000005 -"BuildHelp"=dword:00000001 -"SoundFormat"=dword:00000001 -"CDAudio"=dword:00000000 -"VideoFormat"=dword:00000000 -"MessageLevel"=dword:00000009 -"Intro"=dword:00000000 -"SerialNumber"="6784-1136-5836-4351-2191" -"Playername"="TP" -"Language"=dword:00000000 - diff --git a/build/registry/dxwnd.SimCity 2000.reg b/build/registry/dxwnd.SimCity 2000.reg deleted file mode 100644 index 9728bbc..0000000 --- a/build/registry/dxwnd.SimCity 2000.reg +++ /dev/null @@ -1,47 +0,0 @@ -[HKEY_CURRENT_USER\SOFTWARE] -[HKEY_CURRENT_USER\SOFTWARE\Maxis] -[HKEY_CURRENT_USER\SOFTWARE\Maxis\SimCity 2000] -[HKEY_CURRENT_USER\SOFTWARE\Maxis\SimCity 2000\Localize] -"Language"="USA" - -[HKEY_CURRENT_USER\SOFTWARE\Maxis\SimCity 2000\Options] -"AutoBudget"=dword:00000000 -"AutoGoto"=dword:00000001 -"AutoSave"=dword:00000000 -"Disasters"=dword:00000001 -"Music"=dword:00000001 -"Sound"=dword:00000001 -"Speed"=dword:00000001 - -[HKEY_CURRENT_USER\SOFTWARE\Maxis\SimCity 2000\Paths] -"Cities"="D:\\Games\\Simcity 2000\\Cities" -"Data"="D:\\Games\\Simcity 2000\\Data" -"Goodies"="D:\\Games\\Simcity 2000\\Goodies" -"Graphics"="D:\\Games\\Simcity 2000\\Bitmaps" -"Home"="D:\\Games\\Simcity 2000" -"Music"="D:\\Games\\Simcity 2000\\Sounds" -"SaveGame"="D:\\Games\\Simcity 2000\\Cities" -"Folder"="Maxis" -"Scenarios"="D:\\Games\\Simcity 2000\\Scenario" -"TileSets"="D:\\Games\\Simcity 2000\\ScurkArt" - -[HKEY_CURRENT_USER\SOFTWARE\Maxis\SimCity 2000\Registration] -"Company Name"="nameless mutual loan company" -"Mayor Name"="Jane Doe" - -[HKEY_CURRENT_USER\SOFTWARE\Maxis\SimCity 2000\SCURK] -"CycleColors"=dword:00000001 -"GridHeight"=dword:00000008 -"GridWidth"=dword:00000008 -"ShowClipRegion"=dword:00000000 -"ShowDrawGrid"=dword:00000000 -"SnapToGrid"=dword:00000000 -"Sound"=dword:00000001 - -[HKEY_CURRENT_USER\SOFTWARE\Maxis\SimCity 2000\Version] -"SimCity 2000"=dword:00000100 -"SCURK"=dword:00000100 - -[HKEY_CURRENT_USER\SOFTWARE\Maxis\SimCity 2000\Windows] -"Color Check"=dword:00000000 -"Display"="8 1" diff --git a/build/registry/dxwnd.Street Fighters Zero.REG b/build/registry/dxwnd.Street Fighters Zero.REG deleted file mode 100644 index f6fbd85..0000000 --- a/build/registry/dxwnd.Street Fighters Zero.REG +++ /dev/null @@ -1,7 +0,0 @@ - -[HKEY_LOCAL_MACHINE\SOFTWARE\CAPCOM] -[HKEY_LOCAL_MACHINE\SOFTWARE\CAPCOM\STREETFIGHTERZERO] -""="..\\bin" - -[HKEY_LOCAL_MACHINE\SOFTWARE\CAPCOM\STREETFIGHTERZERO\1.0] - diff --git a/build/registry/dxwnd.chaos island.REG b/build/registry/dxwnd.chaos island.REG deleted file mode 100644 index 678c936..0000000 --- a/build/registry/dxwnd.chaos island.REG +++ /dev/null @@ -1,16 +0,0 @@ - -[HKEY_LOCAL_MACHINE\SOFTWARE\] -[HKEY_LOCAL_MACHINE\SOFTWARE\DreamWorks Interactive] -[HKEY_LOCAL_MACHINE\SOFTWARE\DreamWorks Interactive\ChaosIsland] -"Data Drive"=".\\" -"PID"="71239-442-3367621-91206" -"Installed Directory"=".\\" -"Run File"=".\\" -"InstallType"=dword:00000001 -"KBPS_OTHER"=dword:00000000 -"KBPS"=dword:00000000 -"Installed"=dword:00000001 -"NextTip"=dword:00000001 -"StartupTips"=dword:00000001 -"FPS"=dword:00000003 - diff --git a/build/registry/dxwnd.close combat 2.REG b/build/registry/dxwnd.close combat 2.REG deleted file mode 100644 index 9ded368..0000000 --- a/build/registry/dxwnd.close combat 2.REG +++ /dev/null @@ -1,28 +0,0 @@ -// Close Combat 2 a bridge too far - -[HKEY_LOCAL_MACHINE\SOFTWARE] -[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft] -[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Games] -[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Games\Close Combat] -[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Games\Close Combat\2.00] -"PID"="00000-000-0000000-00000" -"InstalledTo"=".\\" -"ScreenX"="800" -"ScreenY"="600" -"Version"="2.0" -"IType"=hex:01,00,00,00 -"GameSpeed"=hex:01,00,00,00 -"ShowDSAlert"=hex:01,00,00,00 -"ShowQuickHelp"=hex:01,00,00,00 -"PlaySounds"=hex:01,00,00,00 -"PlayMusic"=hex:01,00,00,00 -"PlayVideos"=hex:00,00,00,00 -"FCopy"=hex:00,00,00,00 -"SMethod"=hex:00,00,00,00 -"Save"=hex:00,00,00,00 -"ShowTrees"=hex:01,00,00,00 -"StaticFPS"=hex:0a,00,00,00 -"InstalledFrom"=".\\" -"Launched"="1" -"VersionType"="RetailVersion" - diff --git a/build/registry/dxwnd.road rash.reg b/build/registry/dxwnd.road rash.reg deleted file mode 100644 index 03f7ff3..0000000 --- a/build/registry/dxwnd.road rash.reg +++ /dev/null @@ -1,13 +0,0 @@ -[HKEY_LOCAL_MACHINE\SOFTWARE] - -; Road Rash - -[HKEY_LOCAL_MACHINE\SOFTWARE\Electronic Arts] -[HKEY_LOCAL_MACHINE\SOFTWARE\Electronic Arts\RoadRash 95] -""="" -"Path"="." -"CheckDialup"=hex:00 -"ChatState"=hex:02 -"MiniDash"=hex:00 -"OpponentList"=hex:01 - diff --git a/build/registry/dxwnd.tak.reg b/build/registry/dxwnd.tak.reg deleted file mode 100644 index 2edbbea..0000000 --- a/build/registry/dxwnd.tak.reg +++ /dev/null @@ -1,15 +0,0 @@ - -[HKEY_LOCAL_MACHINE\Software] -[HKEY_LOCAL_MACHINE\Software\Cavedog Entertainment] -[HKEY_LOCAL_MACHINE\Software\Cavedog Entertainment\Total Annihilation: Kingdoms] -[HKEY_LOCAL_MACHINE\Software\Cavedog Entertainment\Total Annihilation: Kingdoms\1.00.000] - -[HKEY_CURRENT_USER\Software\Cavedog Entertainment] -[HKEY_CURRENT_USER\Software\Cavedog Entertainment\Kingdoms] -"InstallDirectX"=dword:00000001 - -[HKEY_CURRENT_USER\Software\Cavedog Entertainment\Kingdoms\InterfaceOptions] -"Language"="ENGLISH" - -[HKEY_CURRENT_USER\Software\Cavedog Entertainment\Cartographer] - diff --git a/build/registry/dxwnd.the Divide.REG b/build/registry/dxwnd.the Divide.REG deleted file mode 100644 index 42406af..0000000 --- a/build/registry/dxwnd.the Divide.REG +++ /dev/null @@ -1,20 +0,0 @@ -[HKEY_LOCAL_MACHINE\SOFTWARE] -[HKEY_LOCAL_MACHINE\SOFTWARE\Viacom New Media] -[HKEY_LOCAL_MACHINE\SOFTWARE\Viacom New Media\The Divide] -[HKEY_LOCAL_MACHINE\SOFTWARE\Viacom New Media\The Divide\1.0] -"Display Name"="\"The Divide\"" -"InstallDir"="." -"InstallSrc"="." -"CDROM"=".:" -"ProgramDir"="." -"LevelsDir"=".\\Levels\\" -"MoviesDir"=".\\Movies\\" -"SoundsDir"=".\\pc\\" - - -[HKEY_CURRENT_USER\SOFTWARE\Viacom New Media\The Divide\Config] -"Game Settings"=hex:20,03,00,00,58,02,00,00,20,03,00,00,58,02,00,00\ -00,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00,01,00,00,00,00\ -00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00,00,00\ -00,00,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 - diff --git a/build/registry/dxwnd.the Hive.reg b/build/registry/dxwnd.the Hive.reg deleted file mode 100644 index 58b1a93..0000000 --- a/build/registry/dxwnd.the Hive.reg +++ /dev/null @@ -1,27 +0,0 @@ -# The Hive registry settings - -[HKEY_LOCAL_MACHINE\SOFTWARE\Rainbow] -[HKEY_LOCAL_MACHINE\SOFTWARE\Rainbow\TheHIVE] -[HKEY_LOCAL_MACHINE\SOFTWARE\Rainbow\TheHIVE\GlobalInfo] -"currentPlayer"="GHO" -"workingGameDirectory"=".\\" - -[HKEY_LOCAL_MACHINE\SOFTWARE\Rainbow\TheHIVE\GHO] -"userInfo"=dword:4ac9fbcb -"displayMode"=dword:000003fb -"profile"=dword:00010020 - -# displaymode = 3F7 (fair) -# displaymode = 3F9 (good) -# displaymode = 3Fa (better) -# displaymode = 3Fb (best) - -# userInfo = 4ac9fbcb (1st level) -# userInfo = 4B49fADB (2nd level) -# userinfo = d249f6d6 (??) - -# profile = 0x00010020 (practice) -# profile = 0x00010000 (normal) -# profile = 0x00010010 (expert) - -# profile = 0x.......1 (flip joystick direction) diff --git a/build/registry/dxwnd.the Industry Giant.reg b/build/registry/dxwnd.the Industry Giant.reg deleted file mode 100644 index 718f49f..0000000 --- a/build/registry/dxwnd.the Industry Giant.reg +++ /dev/null @@ -1,9 +0,0 @@ -[HKEY_LOCAL_MACHINE\SOFTWARE] - -; the Industry Giant - - -[HKEY_LOCAL_MACHINE\SOFTWARE\JoWooD] -[HKEY_LOCAL_MACHINE\SOFTWARE\JoWooD\The IndustryGiant] -"InstallPath"="." - diff --git a/dll/ddraw.cpp b/dll/ddraw.cpp index 560e7f9..d03599d 100644 --- a/dll/ddraw.cpp +++ b/dll/ddraw.cpp @@ -2321,6 +2321,18 @@ static HRESULT BuildPrimaryEmu(LPDIRECTDRAW lpdd, CreateSurface_Type pCreateSurf // "Hoyle Casino Empire" opens a primary surface and NOT a backbuffer .... iBakBufferVersion=dxversion; // v2.03.01 + // build a default System palette and apply it to primary surface + if((ddsd.ddpfPixelFormat.dwFlags & DDPF_PALETTEINDEXED8) && + (dxw.dwFlags6 & SYNCPALETTE)){ + if(lpDDP == NULL){ + res=(*pCreatePalette)(lpdd, DDPCAPS_8BIT|DDPCAPS_ALLOW256, DefaultSystemPalette, &lpDDP, NULL); + if(res) OutTrace("CreateSurface: CreatePalette ERROR err=%x at %d\n", res, __LINE__); + } + // this must be done after hooking - who knows why? + res=(*pSetPalette)(*lplpdds, lpDDP); + if(res) OutTraceE("CreateSurface: SetPalette ERROR err=%x at %d\n", res, __LINE__); + } + // set a global capability value for surfaces that have to blit to primary // DDSCAPS_OFFSCREENPLAIN seems required to support the palette in memory surfaces // DDSCAPS_SYSTEMMEMORY makes operations faster, but it is not always good... @@ -2386,6 +2398,18 @@ static HRESULT BuildPrimaryFlippable(LPDIRECTDRAW lpdd, CreateSurface_Type pCrea // "Hoyle Casino Empire" opens a primary surface and NOT a backbuffer .... iBakBufferVersion=dxversion; // v2.03.01 + // build a default System palette and apply it to primary surface + if((ddsd.ddpfPixelFormat.dwFlags & DDPF_PALETTEINDEXED8) && + (dxw.dwFlags6 & SYNCPALETTE)){ + if(lpDDP == NULL){ + res=(*pCreatePalette)(lpdd, DDPCAPS_8BIT|DDPCAPS_ALLOW256, DefaultSystemPalette, &lpDDP, NULL); + if(res) OutTrace("CreateSurface: CreatePalette ERROR err=%x at %d\n", res, __LINE__); + } + // this must be done after hooking - who knows why? + res=(*pSetPalette)(*lplpdds, lpDDP); + if(res) OutTraceE("CreateSurface: SetPalette ERROR err=%x at %d\n", res, __LINE__); + } + // set a global capability value for surfaces that have to blit to primary dwBackBufferCaps = (DDSCAPS_OFFSCREENPLAIN|DDSCAPS_SYSTEMMEMORY); // on WinXP Fifa 99 doesn't like DDSCAPS_SYSTEMMEMORY cap, so better to leave a way to unset it.... @@ -2496,6 +2520,17 @@ static HRESULT BuildBackBufferEmu(LPDIRECTDRAW lpdd, CreateSurface_Type pCreateS HookDDSurfaceGeneric(lplpdds, dxversion); // added !!! iBakBufferVersion=dxversion; // v2.02.31 + if((ddsd.ddpfPixelFormat.dwFlags & DDPF_PALETTEINDEXED8) && + (dxw.dwFlags6 & SYNCPALETTE)){ + if(lpDDP == NULL){ + res=(*pCreatePalette)(lpdd, DDPCAPS_8BIT|DDPCAPS_ALLOW256, DefaultSystemPalette, &lpDDP, NULL); + if(res) OutTrace("CreateSurface: CreatePalette ERROR err=%x at %d\n", res, __LINE__); + } + // this must be done after hooking - who knows why? + res=(*pSetPalette)(*lplpdds, lpDDP); + if(res) OutTraceE("CreateSurface: SetPalette ERROR err=%x at %d\n", res, __LINE__); + } + // V2.1.85/V2.2.34: tricky !!!! // When a real backbuffer is created, it has a reference to its frontbuffer. // some games (Monopoly 3D) may depend on this setting - i.e. they could close @@ -2541,6 +2576,17 @@ static HRESULT BuildBackBufferFlippable(LPDIRECTDRAW lpdd, CreateSurface_Type pC HookDDSurfaceGeneric(lplpdds, dxversion); // added !!! iBakBufferVersion=dxversion; // v2.02.31 + if((ddsd.ddpfPixelFormat.dwFlags & DDPF_PALETTEINDEXED8) && + (dxw.dwFlags6 & SYNCPALETTE)){ + if(lpDDP == NULL){ + res=(*pCreatePalette)(lpdd, DDPCAPS_8BIT|DDPCAPS_ALLOW256, DefaultSystemPalette, &lpDDP, NULL); + if(res) OutTrace("CreateSurface: CreatePalette ERROR err=%x at %d\n", res, __LINE__); + } + // this must be done after hooking - who knows why? + res=(*pSetPalette)(*lplpdds, lpDDP); + if(res) OutTraceE("CreateSurface: SetPalette ERROR err=%x at %d\n", res, __LINE__); + } + return DD_OK; } diff --git a/dll/dxhook.cpp b/dll/dxhook.cpp index b45ff20..b376ba1 100644 --- a/dll/dxhook.cpp +++ b/dll/dxhook.cpp @@ -113,7 +113,7 @@ static char *Flag6Names[32]={ "NOSYSMEMPRIMARY", "NOSYSMEMBACKBUF", "CONFIRMONCLOSE", "TERMINATEONCLOSE", "FLIPEMULATION", "SETZBUFFERBITDEPTHS", "SHAREDDC", "WOW32REGISTRY", "STRETCHMOVIES", "BYPASSMCI", "FIXPIXELZOOM", "REUSEEMULATEDDC", - "CREATEDESKTOP", "NOWINDOWHOOKS", "--NOMOUSEPROC--", "", + "CREATEDESKTOP", "NOWINDOWHOOKS", "SYNCPALETTE", "", "", "", "", "", }; diff --git a/dll/dxwnd.cpp b/dll/dxwnd.cpp index dcbf3a9..fda1426 100644 --- a/dll/dxwnd.cpp +++ b/dll/dxwnd.cpp @@ -27,7 +27,7 @@ along with this program. If not, see . #include "TlHelp32.h" -#define VERSION "2.03.41" +#define VERSION "2.03.42" #define DDTHREADLOCK 1 //#define LOCKTHREADS diff --git a/dll/dxwnd.vs2008.suo b/dll/dxwnd.vs2008.suo index f07b3d7d523082cb41175d7c1a9e2db7aa02de48..9f6c4813e70ac2524bc0bb6264767c08304186cd 100644 GIT binary patch literal 105472 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 256) ? nEntries : 256; // "M.I.B." patch .... + if((res < nEntries) && (dxw.dwFlags6 & SYNCPALETTE)) { + res = nEntries; + OutTraceDW("GDI.GetPaletteEntries: faking missing entries=%d\n", res); } if(IsDebug && res) dxw.DumpPalette(res, &lppe[iStartIndex]); //mySetPalette(0, nEntries, lppe); diff --git a/dll/msvfw.cpp b/dll/msvfw.cpp index 49d9bdc..cda90b5 100644 --- a/dll/msvfw.cpp +++ b/dll/msvfw.cpp @@ -20,7 +20,7 @@ BOOL WINAPI extDrawDibDraw(HDRAWDIB, HDC, int, int, int, int, LPBITMAPINFOHEADER static HookEntry_Type Hooks[]={ //{HOOK_HOT_CANDIDATE, "ICSendMessage", (FARPROC)NULL, (FARPROC *)&pICSendMessage, (FARPROC)extICSendMessage}, //{HOOK_HOT_CANDIDATE, "ICOpen", (FARPROC)NULL, (FARPROC *)&pICOpen, (FARPROC)extICOpen}, - //{HOOK_HOT_CANDIDATE, "MCIWndCreateA", (FARPROC)NULL, (FARPROC *)&pMCIWndCreateA, (FARPROC)extMCIWndCreateA}, // "Man in Black" - beware: this is NOT STDCALL!!! + {HOOK_HOT_CANDIDATE, "MCIWndCreateA", (FARPROC)NULL, (FARPROC *)&pMCIWndCreateA, (FARPROC)extMCIWndCreateA}, // "Man in Black" - beware: this is NOT STDCALL!!! {HOOK_HOT_CANDIDATE, "ICGetDisplayFormat", (FARPROC)NULL, (FARPROC *)&pICGetDisplayFormat, (FARPROC)extICGetDisplayFormat}, // "Man in Black" - beware: this is NOT STDCALL!!! {HOOK_HOT_CANDIDATE, "ICDrawBegin", (FARPROC)NULL, (FARPROC *)&pICDrawBegin, (FARPROC)extICDrawBegin}, {HOOK_HOT_CANDIDATE, "DrawDibDraw", (FARPROC)NULL, (FARPROC *)&pDrawDibDraw, (FARPROC)extDrawDibDraw}, @@ -172,17 +172,31 @@ HWND extMCIWndCreateA(HWND hwndParent, HINSTANCE hInstance, DWORD dwStyle, LPCTS HWND g_hwndMCIWnd; OutTraceDW("MCIWndCreateA: hwnd=%x hInst=%x style=%x(%s) file=%s\n", hwndParent, hInstance, dwStyle, ExplainMCIWndCreateFlags(dwStyle), szFile); - if(dxw.dwFlags6 & NOMOVIES) return NULL; + if(dxw.dwFlags6 & NOMOVIES) { + OutTraceDW("MCIWndCreateA: SUPPRESSED\n"); + return NULL; + } g_hwndMCIWnd = (*pMCIWndCreateA)(hwndParent, hInstance, dwStyle, szFile); // look at https://msdn.microsoft.com/en-us/library/windows/desktop/dd757178%28v=vs.85%29.aspx if(dxw.dwFlags5 & REMAPMCI){ - (*pSetWindowPos)(g_hwndMCIWnd, // window to resize - NULL, // z-order: don't care - (800-640)/2, (600-480)/2, 640, 480, + // since there seem to be no way to stretch the movie, we do an attempt to center + // the movie on the screen by shifting the video window. + // We assume (but we don't really know for sure ...) that the movie was to be rendered + // fulscreen using the size of the virtual desktop + RECT client; + OutTraceDW("MCIWndCreateA: CENTERED\n"); + (*pGetClientRect)(dxw.GethWnd(), &client); + (*pSetWindowPos)(g_hwndMCIWnd, // window to resize + NULL, // z-order: don't care + (client.right - dxw.GetScreenWidth()) / 2, // X pos + (client.bottom - dxw.GetScreenHeight()) / 2, // Y pos + dxw.GetScreenWidth(), // width + dxw.GetScreenHeight(), // height SWP_NOZORDER | SWP_NOACTIVATE); + //(*pUpdateWindow)(g_hwndMCIWnd); } return g_hwndMCIWnd; diff --git a/dll/user32.cpp b/dll/user32.cpp index a13b3f0..6653001 100644 --- a/dll/user32.cpp +++ b/dll/user32.cpp @@ -620,15 +620,19 @@ BOOL WINAPI extInvalidateRect(HWND hwnd, RECT *lpRect, BOOL bErase) OutTraceDW("InvalidateRect: hwnd=%x rect=NULL erase=%x\n", hwnd, bErase); - if(dxw.IsFullScreen() && dxw.IsRealDesktop(hwnd)) { - hwnd=dxw.GethWnd(); - dxw.MapClient(lpRect); - return (*pInvalidateRect)(hwnd, lpRect, bErase); - } - else{ - // don't exagerate ... - return (*pInvalidateRect)(hwnd, lpRect, bErase); + + if(dxw.IsFullScreen()) { + switch(GDIEmulationMode){ + case GDIMODE_STRETCHED: + if(lpRect) dxw.MapClient(lpRect); + break; + case GDIMODE_EMULATED: + default: + break; + } } + + return (*pInvalidateRect)(hwnd, lpRect, bErase); } BOOL WINAPI extShowWindow(HWND hwnd, int nCmdShow) diff --git a/dll/winproc.cpp b/dll/winproc.cpp index 7d3fbfc..ae87a21 100644 --- a/dll/winproc.cpp +++ b/dll/winproc.cpp @@ -407,18 +407,18 @@ LRESULT CALLBACK extWindowProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lp if(dxw.Windowize){ prev.x = LOWORD(lparam); prev.y = HIWORD(lparam); - if ((dxw.dwFlags1 & HIDEHWCURSOR) && dxw.IsFullScreen()){ - (*pGetClientRect)(hwnd, &rect); - if(prev.x >= 0 && prev.x < rect.right && prev.y >= 0 && prev.y < rect.bottom) - while((*pShowCursor)(0) >= 0); - else + if(dxw.IsFullScreen()){ + if (dxw.dwFlags1 & HIDEHWCURSOR){ + (*pGetClientRect)(hwnd, &rect); + if(prev.x >= 0 && prev.x < rect.right && prev.y >= 0 && prev.y < rect.bottom) + while((*pShowCursor)(0) >= 0); + else + while((*pShowCursor)(1) < 0); + } + if (dxw.dwFlags1 & SHOWHWCURSOR){ while((*pShowCursor)(1) < 0); + } } - else { - while((*pShowCursor)(1) < 0); - } - //if(dxw.dwFlags1 & MODIFYMOUSE){ // mouse processing - //if((dxw.dwFlags1 & MODIFYMOUSE) && !(dxw.dwFlags6 & NOMOUSEPROC)){ // mouse processing if((dxw.dwFlags1 & MODIFYMOUSE) && !(dxw.dwFlags1 & MESSAGEPROC)){ // mouse processing // scale mouse coordinates curr=dxw.FixCursorPos(prev); //v2.02.30 @@ -442,8 +442,6 @@ LRESULT CALLBACK extWindowProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lp case WM_MBUTTONDBLCLK: if(dxw.Windowize){ if((dxw.dwFlags1 & CLIPCURSOR) && ClipCursorToggleState) dxw.SetClipCursor(); - //if(dxw.dwFlags1 & MODIFYMOUSE){ // mouse processing - //if((dxw.dwFlags1 & MODIFYMOUSE) && !(dxw.dwFlags6 & NOMOUSEPROC)){ // mouse processing if((dxw.dwFlags1 & MODIFYMOUSE) && !(dxw.dwFlags1 & MESSAGEPROC)){ // mouse processing // scale mouse coordinates prev.x = LOWORD(lparam); diff --git a/host/TabSysLibs.cpp b/host/TabSysLibs.cpp index 82482fc..1f3d310 100644 --- a/host/TabSysLibs.cpp +++ b/host/TabSysLibs.cpp @@ -35,6 +35,7 @@ void CTabSysLibs::DoDataExchange(CDataExchange* pDX) DDX_Check(pDX, IDC_NOFILLRECT, cTarget->m_NoFillRect); DDX_Check(pDX, IDC_REUSEEMULATEDDC, cTarget->m_ReuseEmulatedDC); DDX_Check(pDX, IDC_CREATEDESKTOP, cTarget->m_CreateDesktop); + DDX_Check(pDX, IDC_SYNCPALETTE, cTarget->m_SyncPalette); // OpenGL DDX_Check(pDX, IDC_HOOKOPENGL, cTarget->m_HookOpenGL); // duplicated diff --git a/host/TargetDlg.cpp b/host/TargetDlg.cpp index 36738f6..b11eac2 100644 --- a/host/TargetDlg.cpp +++ b/host/TargetDlg.cpp @@ -197,6 +197,7 @@ CTargetDlg::CTargetDlg(CWnd* pParent /*=NULL*/) m_NoFillRect = FALSE; m_ReuseEmulatedDC = FALSE; // ?? m_CreateDesktop = FALSE; + m_SyncPalette = FALSE; m_AnalyticMode = FALSE; m_NoPaletteUpdate = FALSE; m_WireFrame = FALSE; diff --git a/host/TargetDlg.h b/host/TargetDlg.h index 3180262..ed76f55 100644 --- a/host/TargetDlg.h +++ b/host/TargetDlg.h @@ -163,6 +163,7 @@ public: BOOL m_NoFillRect; BOOL m_ReuseEmulatedDC; BOOL m_CreateDesktop; + BOOL m_SyncPalette; BOOL m_AnalyticMode; BOOL m_NoPaletteUpdate; BOOL m_LimitResources; diff --git a/host/dxwndhost.aps b/host/dxwndhost.aps index 732034a7b81b7035cf4462decfa57b345d875845..f5fd7629ee3c83cd8a55916e5f0738e6026b14cd 100644 GIT binary patch delta 1999 zcmZvaYfO_@7{||ZC{Qld3g`xmi!hxdqEMMsM-~(is-T5dE)FeDI^AqbxhWWDh#})D zgB-@=99b~BXtrqv?+01755_FS3!0I*jVvVkfh(P5XQQ|L6Za z@8!I$Q$g1s26e~7+Mbn(k@~}&RcZ=_PBYr!W>;J5zSq|0mMJaxKf8?3^_1Rgt7;sI^s~-1V#XsT6Q`9|A#=KftHL>Vx zE4&TLMYIbwd7xDFb+^>&^pQSAiccGxg!A*I=Q55dE_|UCA5T|?z%}i{2ba~vjHqf# zTD%JX6U2V6S(|RUrM5+AV<*GawoTf<&1cm_srcr@Hy7tXg;>&}>OJ1e%FSuXlpjY`lWMp|D}^mY;0raS=H#Ev$#ZWo=Z7Teo`#ZPT9 zixWf#IV;*!lboE_xcea>koC%i-LxOi?@=~%Tm7xro+ z9iIh5vvBrh1(}$G)v+4ZsA+v~gJwMa;nH(M7b2rA*;x)-+0HEMmi!#MJ%^>5Hl{ER z3|N>pcr~{glJM_TSdZgjV8#j)Ea9`W=rzHJqRNQYpo zNry^lkEer4GSm#4u`2?iu)<8`Avz2Fmc7A(=$NI2-DXIjVBaQq8AmBH*KCH>J})6q zhEB5A5tc(ZW^96+RJfww45cpx2J0D%XAD2`@JNi01|!5_Pa))lF&f>(a#=RBu(@T$ z2Zit!&#~c}BIx4zTX47tw)1;B)Y(Yev$59(Te)Kwj@w{gRNgLM8)JctSwErwPF6-U z=~`AhByr+#J3Ze~4}NWjA*m~OQ=h~3eBV3Nx7*h@u^U!H5&9Lw4qjwKYcaKFIk34H z{+b(C;v0Lh1om-DHtI{^U7nwV-cmRsa}P=(YtPuibUy}GBWq<1ESOE}d{1j*jm*Oi z&}LT=-($y^lU|PR9mLZ|P(`YejvBU~9i?+G(M6d$I-D)5%HYbXGM*a-Ytem}C;CrT zGS=JE7#EO2x7Y6!XPmJCG3yxnC+c7$O5N8X23s0T^-< zB6Fp<{|nIO`_Yd+BU(oC7M83}OfA&umTCRJKK_&@Kb@a^*TC@~1NTk-A(qci4tZhc z==z0v=nL!DGdcdA$s_$EsI14qY96<8^hQ2(Fc&U~;)9|)LH$IXuqM?q^fXNc)v4Ft8FGEiqZRv45CFPSnc$p-BvKQ}2yB{CP Za5ft1sXAGK>*~qP!~&AEsqT6n{U0t{av%Tz delta 2030 zcmZvbe@s(X6vywm$gk2ODsx3iL2=9(%V+_qLKd7Lj42ebQfn1;I0?`q1(_^rI%fn_ zjO1n<{l~<=+zc?Amkc(YKN4b8LL!^VOhy*B_=k}nk$=qoz;x%fvfVD;m%h(C-*dj_ zo!9%`{TK1wQ}Gwl!Q8hhV?|jLXZ4%h#Ybzs_3jR9U3N}guBEQs*J%-fj%AA&WAlO5 z7qQ6|mD?*FH6`}y$}P;2oo8jAF(v}XmkayVXw4Vrsso1@KU5m?pI2Mo(8iTm3^(3W z!*7~?RYQOClp22RxvPe5Z;D8v56dFZZSBYBT6UV!@s)AokMhfMkpj#afJ{2dr-&ZZ$ z#I1-5;qTE2U5`nr5w}SykCa~bB#5&;scKchnFR5$XQe82k`#AFmB1wm&%CG9z;5wn zq~I1Kk-{GFDpJ@ha?eKesMCCBFYDm6Skk{G!NTfTJM*zlX3_Ta?*{D$>|ShCH#_uV zGoZr|dbu_G)mfwFy0f(ve0aqIAHrIkus{iC42@Q}C;8M0znO|IF~JToJxir8CK&Xy z3f98XnTO6tSle)K4(#EwcsdUr;_L=U#a}i+y;N-ZV3lmnhfT54dy+YEvkjKvoqW)} zQFetC{SB7K;^_zm$?!5CR!ieP8yIoD4RoPyHpqMFHCYru|f3uQ06AVz$BC0QU`1U8=+L+W zu1RHd2kgau7bKG502v%%L!kpQW!pqN?4XfCS2zFFUOM1KsNK$R+qhb4(qW}>I%>fg zzWSpU8p4C^bV6R&loN)hoP6_AFr&GNXGG7}GjaW5I(qJ2Uyi|D(dkK8)ejJkOV;q;NA7>ZaQS_scXeE)huw*`U zdLbVdlK-DKzNXIeZ#pL@a=c;S;m%3)*x}9zZ*}Uk7xMbI=HoVV{Jw~%L?=_a3|m`y z+A95koFu z#!WcuUse;w(%U=eNP+JwqvivBOH{lz%G#}wB{{drRecS*5 diff --git a/host/dxwndhost.rc b/host/dxwndhost.rc index e3edc1d349e1804567ff0bef4e755e51527bd627..5035f2ffa2cb9bb82507f295b02de1e1ed234076 100644 GIT binary patch delta 147 zcmdn8i|yZTwuUW?Ke#7LJoB4u;Kwn&iic5V@_{;)$V!GhhGd2!hI}BM$xy|R%AmmD z&fvn}38YJaq6!QtKv=|($WRVs7XaxTpqdgOOl44F&;hD*VQ^-MX9#A9WbgyB0vH?_ od>C9ALMAId2%r2RnuXDLviAkq$rt7+O<$1B$g%wZ4`ay$0F)mmR{#J2 delta 26 icmeyjn{CT3wuUW?Ke#8CL^n+L;bD~9p1{jEZvp_KaSE>h diff --git a/host/dxwndhost.vs2008.suo b/host/dxwndhost.vs2008.suo index 4d106bb63e0a1e891871ed0cb27c33894b8ba258..c76dae1ccd1371f35a1655aaf5bee21fa2d00db2 100644 GIT binary patch delta 4003 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 t->flags4 |= NOFILLRECT; if(dlg->m_ReuseEmulatedDC) t->flags6 |= REUSEEMULATEDDC; if(dlg->m_CreateDesktop) t->flags6 |= CREATEDESKTOP; + if(dlg->m_SyncPalette) t->flags6 |= SYNCPALETTE; if(dlg->m_AnalyticMode) t->flags3 |= ANALYTICMODE; if(dlg->m_ReplacePrivOps) t->flags5 |= REPLACEPRIVOPS; t->initx = dlg->m_InitX; @@ -641,6 +642,7 @@ static void SetDlgFromTarget(TARGETMAP *t, CTargetDlg *dlg) dlg->m_NoFillRect = t->flags4 & NOFILLRECT ? 1 : 0; dlg->m_ReuseEmulatedDC = t->flags6 & REUSEEMULATEDDC ? 1 : 0; dlg->m_CreateDesktop = t->flags6 & CREATEDESKTOP ? 1 : 0; + dlg->m_SyncPalette = t->flags6 & SYNCPALETTE ? 1 : 0; dlg->m_AnalyticMode = t->flags3 & ANALYTICMODE ? 1 : 0; dlg->m_ReplacePrivOps = t->flags5 & REPLACEPRIVOPS ? 1 : 0; dlg->m_InitX = t->initx; diff --git a/host/host.aps b/host/host.aps index b5dc05d1bf4130bb13f93229dd6012476dd27a68..6500e13ff048ec4e36019c4063a116975980ba4e 100644 GIT binary patch delta 343 zcmeD9%+&FjX@UZy`b0%D5fh{MlA_9(jQrvfFrinJ%&;+gazCTX| zKh9Es$|lT)*>MTZa+w1Y+XiQ8%vFKvmlSkX0ITzqx&QzG delta 343 zcmeD9%+&FjX@UZy#zaLk5o6Q%lA=nJn2h}55-_1xl)N!}azA6r| zKh9Es$|lT)*>MTZa+w1Y+XiQ8%vFKvmlSkX09r_x@&Et; diff --git a/host/resource b/host/resource index 4aed5852052534a79cf3c744e937348b389d3abc..8de7c61ed04e01b936389ccf6712a906bdbd0f5a 100644 GIT binary patch delta 53 zcmV-50LuTYr2@#L0d!RfHqW8Qre9nh{2J; xm%)|68K}&cAppqoV+aO{g-o^=mYv+-%{G}yT5j?KKY`5_ejKu!=VY%@0{}$&8m9mN