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

v2_02_59_src

Former-commit-id: 7c995e4183d2624e6676f290836d24c51334ef64
This commit is contained in:
gho tik 2014-02-19 11:38:50 -05:00 committed by Refael ACkermann
parent 9b28b7106a
commit f09fae693b
33 changed files with 833 additions and 130 deletions

View File

@ -20,7 +20,6 @@
#define HANDLEEXCEPTIONS 0x00000040 // Handles exceptions: Div by 0 ....
#define SAVELOAD 0x00000080
#define EMULATEBUFFER 0x00000100
//#define HANDLEDC 0x00000200
#define AUTOMATIC 0x00000200
#define BLITFROMBACKBUFFER 0x00000400
#define SUPPRESSCLIPPING 0x00000800
@ -130,6 +129,7 @@
#define NOFILLRECT 0x00002000 // Suppress FillRect calls
#define HOOKGLIDE 0x00004000 // Hook glide calls
#define HIDEDESKTOP 0x00008000 // Hide desktop background
#define STRETCHTIMERS 0x00010000 // Enables timers stretching when TIMESTRETCH is on
// logging Tflags DWORD:
#define OUTTRACE 0x00000001 // enables tracing to dxwnd.log in general

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6470041921d673a2f604bd9a646a2462aba707cab537c42a5770a9cc981dbb0a
size 458240
oid sha256:7f096da2bcb539a443b930cc06ca3814a98394da357dcc2817a7ffa431bb5faa
size 459776

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d9760719d7520e5a1b652d530fc2f32b8018842d333594f06241a692b3904652
size 535040
oid sha256:4ccfe97f2a4ee32296cfaae398fe767a22f26d620ba7065c0cbc7a078eb2d459
size 535552

View File

@ -1332,7 +1332,7 @@ ver53=1
coord53=0
flag53=679477282
flagg53=1744830480
flagh53=65556
flagh53=65540
flagi53=4
tflag53=258
initx53=0
@ -2305,7 +2305,7 @@ module92=jgl
opengllib92=
ver92=0
coord92=0
flag92=973352994
flag92=973353504
flagg92=136462360
flagh92=2162708
flagi92=4100
@ -2375,14 +2375,14 @@ initts94=0
winver94=0
maxres94=0
title95=StarCraft
path95=D:\Games\Starcraft\StarCraft.exe
path95=D:\Games\Starcraft\Starcraft\StarCraft.exe
module95=
opengllib95=
ver95=0
coord95=0
flag95=134217762
flagg95=134283264
flagh95=20
flagh95=32788
flagi95=8
tflag95=64
initx95=0
@ -2824,17 +2824,17 @@ maxfps112=0
initts112=0
winver112=0
maxres112=0
title113=Virtua Fighter PC
path113=D:\Games\Virtua Fighter\VFPC.EXE
title113=Warcraft 2 Battlenet Ed
path113=D:\Games\Warcraft 2 Battlenet Ed\Warcraft II BNE.exe
module113=
opengllib113=
ver113=0
coord113=0
flag113=402653218
flagg113=1224736784
flagh113=33562644
flagi113=0
tflag113=290
flag113=134217762
flagg113=1210122240
flagh113=148
flagi113=12
tflag113=0
initx113=0
inity113=0
minx113=0
@ -2848,18 +2848,18 @@ sizy113=600
maxfps113=0
initts113=0
winver113=0
maxres113=2
title114=Warcraft 2 Battlenet Ed
path114=D:\Games\Warcraft 2 Battlenet Ed\Warcraft II BNE.exe
maxres113=0
title114=Wargasm
path114=D:\Games\Wargasm\tank.exe
module114=
opengllib114=
ver114=0
coord114=0
flag114=134217762
flagg114=1210122240
flagh114=148
flagi114=12
tflag114=0
coord114=2
flag114=671088672
flagg114=1207959696
flagh114=65556
flagi114=0
tflag114=6162
initx114=0
inity114=0
minx114=0
@ -2874,17 +2874,17 @@ maxfps114=0
initts114=0
winver114=0
maxres114=0
title115=Wargasm
path115=D:\Games\Wargasm\tank.exe
title115=Whiteout
path115=D:\Games\Whiteout\Whiteout.exe
module115=
opengllib115=
ver115=0
coord115=2
flag115=671088672
flagg115=1207959696
flagh115=65556
coord115=0
flag115=402653217
flagg115=1207959552
flagh115=20
flagi115=0
tflag115=6162
tflag115=66
initx115=0
inity115=0
minx115=0
@ -2893,23 +2893,23 @@ maxx115=0
maxy115=0
posx115=50
posy115=50
sizx115=800
sizy115=600
sizx115=640
sizy115=480
maxfps115=0
initts115=0
winver115=0
maxres115=0
title116=Warlords Battlecry II (DEMO)
path116=D:\Games\Warlords Battlecry II Demo\Battlecry II Demo.exe
title116=Wildfire
path116=D:\Games\Wildfire\Wildfire.exe
module116=
opengllib116=
ver116=0
coord116=2
flag116=134217762
flagg116=1207959568
flagh116=22
flagi116=0
tflag116=258
coord116=0
flag116=-1476392958
flagg116=1210122240
flagh116=20
flagi116=12
tflag116=0
initx116=0
inity116=0
minx116=0
@ -2924,17 +2924,17 @@ maxfps116=0
initts116=0
winver116=0
maxres116=0
title117=Whiteout
path117=D:\Games\Whiteout\Whiteout.exe
title117=Worms Pinball
path117=D:\Games\Worms Pinball\WPIB.exe
module117=
opengllib117=
ver117=0
ver117=1
coord117=0
flag117=402653217
flagg117=1207959552
flag117=134217762
flagg117=1207959568
flagh117=20
flagi117=0
tflag117=66
flagi117=4
tflag117=0
initx117=0
inity117=0
minx117=0
@ -2943,22 +2943,22 @@ maxx117=0
maxy117=0
posx117=50
posy117=50
sizx117=640
sizy117=480
sizx117=800
sizy117=600
maxfps117=0
initts117=0
winver117=0
maxres117=0
title118=Wildfire
path118=D:\Games\Wildfire\Wildfire.exe
title118=Zanzarah
path118=D:\Games\Zanzarah\System\zanthp.exe
module118=
opengllib118=
ver118=0
coord118=0
flag118=-1476392958
flagg118=1210122240
flag118=679477280
flagg118=1207959552
flagh118=20
flagi118=12
flagi118=0
tflag118=0
initx118=0
inity118=0
@ -2974,14 +2974,14 @@ maxfps118=0
initts118=0
winver118=0
maxres118=0
title119=Worms Pinball
path119=D:\Games\Worms Pinball\WPIB.exe
title119=ZPC Zero Population Count
path119=D:\Games\ZPC\ZPC.EXE
module119=
opengllib119=
ver119=1
ver119=0
coord119=0
flag119=134217762
flagg119=1207959568
flagg119=1207959552
flagh119=20
flagi119=4
tflag119=0
@ -2999,17 +2999,17 @@ maxfps119=0
initts119=0
winver119=0
maxres119=0
title120=Zanzarah
path120=D:\Games\Zanzarah\System\zanthp.exe
title120=Black Thorn
path120=D:\Games\Black Thorn\BlackThorn.exe
module120=
opengllib120=
ver120=0
coord120=0
flag120=679477280
flagg120=1207959552
flagh120=20
flagi120=0
tflag120=0
flag120=687886372
flagg120=134217728
flagh120=65556
flagi120=4
tflag120=6211
initx120=0
inity120=0
minx120=0
@ -3023,18 +3023,18 @@ sizy120=600
maxfps120=0
initts120=0
winver120=0
maxres120=0
title121=Zax the Alien Hunter (DEMO)
path121=D:\Games\ZaxDemo\Zax.exe
maxres120=-1
title121=Empire of the Ants
path121=D:\Games\Empire of the Ants\Game.exe
module121=
opengllib121=
ver121=0
coord121=2
flag121=-2011168734
flagg121=1209008144
coord121=0
flag121=1023426596
flagg121=134217744
flagh121=20
flagi121=0
tflag121=258
flagi121=4
tflag121=6466
initx121=0
inity121=0
minx121=0
@ -3048,18 +3048,18 @@ sizy121=600
maxfps121=0
initts121=0
winver121=0
maxres121=0
title122=ZPC Zero Population Count
path122=D:\Games\ZPC\ZPC.EXE
maxres121=-1
title122=Populous 3 (GOG - D3D)
path122=D:\Games\Populous 3 (GOG)\D3DPopTB.exe
module122=
opengllib122=
ver122=0
coord122=0
flag122=134217762
flagg122=1207959552
flagh122=20
coord122=2
flag122=738214436
flagg122=134217744
flagh122=65556
flagi122=4
tflag122=0
tflag122=6147
initx122=0
inity122=0
minx122=0
@ -3073,18 +3073,18 @@ sizy122=600
maxfps122=0
initts122=0
winver122=0
maxres122=0
title123=Black Thorn
path123=D:\Games\Black Thorn\BlackThorn.exe
maxres122=-1
title123=Populous 3 (GOG)
path123=D:\Games\Populous 3 (GOG)\popTB.exe
module123=
opengllib123=
ver123=0
coord123=0
flag123=692076580
flagg123=1207959552
flag123=671105572
flagg123=1207959568
flagh123=20
flagi123=4
tflag123=6211
tflag123=0
initx123=0
inity123=0
minx123=0
@ -3099,17 +3099,17 @@ maxfps123=0
initts123=0
winver123=0
maxres123=-1
title124=Empire of the Ants
path124=D:\Games\Empire of the Ants\Game.exe
title124=Thief 2 (GOG)
path124=D:\Games\Thief 2 (GOG)\thief2_no_ddfix.exe
module124=
opengllib124=
ver124=0
coord124=0
flag124=1023426596
flagg124=134217744
flagh124=20
flag124=671089184
flagg124=1207959552
flagh124=65556
flagi124=4
tflag124=6466
tflag124=0
initx124=0
inity124=0
minx124=0
@ -3124,20 +3124,20 @@ maxfps124=0
initts124=0
winver124=0
maxres124=-1
title125=Populous 3 (GOG - D3D)
title125=Freelancer
module125=
opengllib125=
title126=Populous 3 (GOG)
title126=Virtua Fighter PC
module126=
opengllib126=
path125=D:\Games\Populous 3 (GOG)\D3DPopTB.exe
path125=D:\Games\Freelancer\EXE\Freelancer.exe
ver125=0
coord125=0
flag125=671105572
flagg125=134217744
flag125=671089184
flagg125=1207959552
flagh125=65556
flagi125=4
tflag125=6146
tflag125=1024
initx125=0
inity125=0
minx125=0
@ -3152,14 +3152,14 @@ maxfps125=0
initts125=0
winver125=0
maxres125=-1
path126=D:\Games\Populous 3 (GOG)\popTB.exe
path126=D:\Games\Virtua Fighter\VFPC.EXE
ver126=0
coord126=0
flag126=671105572
flagg126=1207959568
flag126=134218272
flagg126=134217744
flagh126=20
flagi126=4
tflag126=0
tflag126=6147
initx126=0
inity126=0
minx126=0
@ -3174,15 +3174,15 @@ maxfps126=0
initts126=0
winver126=0
maxres126=-1
title127=Thief 2 (GOG)
path127=D:\Games\Thief 2 (GOG)\thief2_no_ddfix.exe
title127=Heroes of Might & Magic 2
path127=D:\Games\Heroes of Might & Magic 2\HEROES2W.EXE
module127=
opengllib127=
ver127=0
coord127=0
flag127=687865888
flag127=2
flagg127=1207959552
flagh127=65556
flagh127=20
flagi127=4
tflag127=0
initx127=0
@ -3199,8 +3199,389 @@ maxfps127=0
initts127=0
winver127=0
maxres127=-1
title128=Evolva
path128=D:\Games\Evolva\Evolva.exe
module128=
opengllib128=
ver128=0
coord128=0
flag128=134217760
flagg128=1207959552
flagh128=20
flagi128=4
tflag128=6146
initx128=0
inity128=0
minx128=0
miny128=0
maxx128=0
maxy128=0
posx128=50
posy128=50
sizx128=800
sizy128=600
maxfps128=0
initts128=0
winver128=0
maxres128=-1
title129=Heroes of Might & Magic 2 (POL)
path129=D:\Games\HEROES2\HEROES2W.EXE
module129=
opengllib129=
ver129=0
coord129=0
flag129=134218240
flagg129=1207959560
flagh129=20
flagi129=32772
tflag129=1024
initx129=0
inity129=0
minx129=0
miny129=0
maxx129=0
maxy129=0
posx129=50
posy129=50
sizx129=800
sizy129=600
maxfps129=0
initts129=0
winver129=0
maxres129=-1
title130=Castle Strike
path130=D:\Games\Castle Strike\Castlestrike.exe
module130=
opengllib130=
ver130=8
coord130=0
flag130=671089184
flagg130=1208483840
flagh130=20
flagi130=4
tflag130=6155
initx130=0
inity130=0
minx130=0
miny130=0
maxx130=0
maxy130=0
posx130=50
posy130=50
sizx130=800
sizy130=600
maxfps130=0
initts130=0
winver130=0
maxres130=-1
title131=Carnivores 3DFX
path131=D:\Games\Carnivores\HUNT3DFX.EXE
module131=
opengllib131=
ver131=0
coord131=0
flag131=671089184
flagg131=1207959552
flagh131=20
flagi131=4
tflag131=0
initx131=0
inity131=0
minx131=0
miny131=0
maxx131=0
maxy131=0
posx131=50
posy131=50
sizx131=800
sizy131=600
maxfps131=0
initts131=0
winver131=0
maxres131=-1
title132=Carnivores
path132=D:\Games\Carnivores\HUNTSOFT.EXE
module132=
opengllib132=
ver132=0
coord132=0
flag132=939524640
flagg132=1209008128
flagh132=20
flagi132=4
tflag132=0
initx132=0
inity132=0
minx132=0
miny132=0
maxx132=0
maxy132=0
posx132=50
posy132=50
sizx132=800
sizy132=600
maxfps132=0
initts132=0
winver132=0
maxres132=-1
title133=Catechumen (3DFX)
path133=D:\Games\Catechumen\game\Catechumen.exe
module133=
opengllib133=
ver133=9
coord133=0
flag133=402653218
flagg133=1207959552
flagh133=65556
flagi133=16388
tflag133=0
initx133=0
inity133=0
minx133=0
miny133=0
maxx133=0
maxy133=0
posx133=50
posy133=50
sizx133=800
sizy133=600
maxfps133=0
initts133=0
winver133=0
maxres133=-1
title134=Deus Ex
path134=D:\Games\Deus Ex\System\DeusEx.exe
module134=
opengllib134=
ver134=9
coord134=0
flag134=134218240
flagg134=1207959552
flagh134=65556
flagi134=4
tflag134=0
initx134=0
inity134=0
minx134=0
miny134=0
maxx134=0
maxy134=0
posx134=50
posy134=50
sizx134=800
sizy134=600
maxfps134=0
initts134=0
winver134=0
maxres134=-1
title135=Warhammer 40K Chaos Gate
path135=D:\Games\Warhammer 40K Chaos Gate\game\WH40K.exe
module135=
opengllib135=
ver135=0
coord135=0
flag135=679494176
flagg135=134217728
flagh135=20
flagi135=4
tflag135=0
initx135=0
inity135=0
minx135=0
miny135=0
maxx135=0
maxy135=0
posx135=50
posy135=50
sizx135=800
sizy135=600
maxfps135=0
initts135=0
winver135=0
maxres135=-1
title136=Warhammer 40K Final Liberation
path136=D:\Games\Warhammer 40K Final Liberation\EPIC40K.EXE
module136=
opengllib136=
ver136=0
coord136=0
flag136=134217762
flagg136=134217744
flagh136=98324
flagi136=4
tflag136=6147
initx136=0
inity136=0
minx136=0
miny136=0
maxx136=0
maxy136=0
posx136=50
posy136=50
sizx136=640
sizy136=480
maxfps136=0
initts136=0
winver136=0
maxres136=-1
title137=Warhammer 40K Rites Of War
path137=D:\Games\Warhammer 40K Rites Of War\game\RoW.orig.exe
module137=
opengllib137=
ver137=1
coord137=0
flag137=1744846882
flagg137=134217858
flagh137=20
flagi137=0
tflag137=6403
initx137=0
inity137=0
minx137=0
miny137=0
maxx137=0
maxy137=0
posx137=50
posy137=50
sizx137=800
sizy137=600
maxfps137=0
initts137=0
winver137=0
maxres137=-1
title138=Darkened Skye
path138=D:\Games\Darkened Skye\Skye.exe
module138=
opengllib138=
ver138=0
coord138=0
flag138=679493664
flagg138=1208025088
flagh138=65556
flagi138=4
tflag138=6147
initx138=0
inity138=0
minx138=0
miny138=0
maxx138=0
maxy138=0
posx138=50
posy138=50
sizx138=800
sizy138=600
maxfps138=0
initts138=-2
winver138=0
maxres138=-1
title139=New York Race
path139=D:\Games\New York Race\NYR.exe
module139=
opengllib139=
ver139=8
coord139=0
flag139=687867937
flagg139=1208025104
flagh139=65556
flagi139=12
tflag139=4097
initx139=0
inity139=0
minx139=0
miny139=0
maxx139=0
maxy139=0
posx139=50
posy139=50
sizx139=800
sizy139=600
maxfps139=0
initts139=0
winver139=0
maxres139=-1
title140=Incoming (GOG)
path140=D:\Games\Incoming and Incoming Forces\Incoming\incoming.exe
module140=
opengllib140=
ver140=7
coord140=2
flag140=150994976
flagg140=1207959568
flagh140=20
flagi140=4
tflag140=1024
initx140=0
inity140=0
minx140=0
miny140=0
maxx140=0
maxy140=0
posx140=50
posy140=50
sizx140=800
sizy140=600
maxfps140=0
initts140=0
winver140=0
maxres140=-1
title141=Incoming Forces (GOG)
path141=D:\Games\Incoming and Incoming Forces\Incoming Forces\forces.exe
module141=
opengllib141=
ver141=0
coord141=0
flag141=134218272
flagg141=1207959552
flagh141=20
flagi141=4
tflag141=1024
initx141=0
inity141=0
minx141=0
miny141=0
maxx141=0
maxy141=0
posx141=50
posy141=50
sizx141=800
sizy141=600
maxfps141=0
initts141=0
winver141=0
maxres141=-1
title142=CIsland.exe
path142=D:\Games\ChaosIsland\CIsland.exe
module142=
opengllib142=
ver142=0
coord142=0
flag142=134218272
flagg142=1207959552
flagh142=20
flagi142=4
tflag142=6147
initx142=0
inity142=0
minx142=0
miny142=0
maxx142=0
maxy142=0
posx142=50
posy142=50
sizx142=800
sizy142=600
maxfps142=0
initts142=0
winver142=0
maxres142=-1
title143=Incoming (GOG)
module143=
opengllib143=
title144=Incoming Forces (GOG)
module144=
opengllib144=
[window]
posx=1129
posy=466
posx=1161
posy=364
sizx=638
sizy=448
sizy=618

View File

@ -0,0 +1,26 @@
[target]
title0=Carnivores 3DFX
path0=D:\Games\Carnivores\HUNT3DFX.EXE
module0=
opengllib0=
ver0=0
coord0=0
flag0=671089184
flagg0=1207959552
flagh0=20
flagi0=4
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

View File

@ -0,0 +1,26 @@
[target]
title0=Carnivores
path0=D:\Games\Carnivores\HUNTSOFT.EXE
module0=
opengllib0=
ver0=0
coord0=0
flag0=939524640
flagg0=1209008128
flagh0=20
flagi0=4
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

View File

@ -0,0 +1,26 @@
[target]
title0=Catechumen (3DFX)
path0=D:\Games\Catechumen\game\Catechumen.exe
module0=
opengllib0=
ver0=9
coord0=0
flag0=402653218
flagg0=1207959552
flagh0=65556
flagi0=16388
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

View File

@ -0,0 +1,26 @@
[target]
title0=Darkened Skye
path0=D:\Games\Darkened Skye\Skye.exe
module0=
opengllib0=
ver0=0
coord0=0
flag0=679493664
flagg0=1207959552
flagh0=65556
flagi0=4
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

26
build/exports/Evolva.dxw Normal file
View File

@ -0,0 +1,26 @@
[target]
title0=Evolva
path0=D:\Games\Evolva\Evolva.exe
module0=
opengllib0=
ver0=0
coord0=0
flag0=134217760
flagg0=1207959552
flagh0=20
flagi0=4
tflag0=6146
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

View File

@ -0,0 +1,26 @@
[target]
title0=Incoming (GOG)
path0=D:\Games\Incoming and Incoming Forces\Incoming\incoming.exe
module0=
opengllib0=
ver0=7
coord0=0
flag0=150994976
flagg0=1207959552
flagh0=20
flagi0=4
tflag0=1024
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

View File

@ -0,0 +1,26 @@
[target]
title0=Incoming Forces (GOG)
path0=D:\Games\Incoming and Incoming Forces\Incoming Forces\forces.exe
module0=
opengllib0=
ver0=0
coord0=0
flag0=134218272
flagg0=1207959552
flagh0=20
flagi0=4
tflag0=1024
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

View File

@ -0,0 +1,26 @@
[target]
title0=New York Race
path0=D:\Games\New York Race\NYR.exe
module0=
opengllib0=
ver0=8
coord0=0
flag0=687867937
flagg0=1207959568
flagh0=65556
flagi0=4
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

View File

@ -9,7 +9,7 @@ flag0=679493669
flagg0=1210056720
flagh0=8212
flagi0=20
tflag0=67
tflag0=0
initx0=0
inity0=0
minx0=0
@ -22,3 +22,5 @@ sizx0=800
sizy0=600
maxfps0=0
initts0=0
winver0=0
maxres0=0

View File

@ -0,0 +1,26 @@
[target]
title0=Virtua Fighter PC
path0=D:\Games\Virtua Fighter\VFPC.EXE
module0=
opengllib0=
ver0=0
coord0=0
flag0=134218272
flagg0=134217744
flagh0=20
flagi0=4
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

View File

@ -5,11 +5,11 @@ module0=
opengllib0=
ver0=0
coord0=0
flag0=679493667
flagg0=1207959552
flag0=679494176
flagg0=134217728
flagh0=20
flagi0=4
tflag0=64
tflag0=0
initx0=0
inity0=0
minx0=0

View File

@ -0,0 +1,26 @@
[target]
title0=Warhammer 40K Final Liberation
path0=D:\Games\Warhammer 40K Final Liberation\EPIC40K.EXE
module0=
opengllib0=
ver0=0
coord0=0
flag0=134217762
flagg0=134217744
flagh0=98324
flagi0=4
tflag0=6147
initx0=0
inity0=0
minx0=0
miny0=0
maxx0=0
maxy0=0
posx0=50
posy0=50
sizx0=640
sizy0=480
maxfps0=0
initts0=0
winver0=0
maxres0=-1

View File

@ -396,5 +396,9 @@ Automatic mode allows dynamic mode change depending on the situation: it is nece
fixed BltFast operation with SRC color key (often used to draw cursor from texures) directly to primary surface: this makes the cursor visible in Populous 3.
minor fixes on logging
v2.02.59
fixed IDIrectDraw reference counter for ddraw release 1 session: fixes "Warhammer 40K Rites Of War" first screen
fixed QueryPerformanceCounter handling: fixes "New Yourk Racer" time stretching problems

View File

@ -317,8 +317,8 @@ static char *DumpPixelFormat(LPDDSURFACEDESC2 lpddsd)
static char sBuf[512];
char sItem[256];
DWORD flags=lpddsd->ddpfPixelFormat.dwFlags;
sprintf(sBuf, " PixelFormat size=%d flags=%x(%s) BPP=%d",
lpddsd->dwSize, flags, ExplainPixelFormatFlags(flags), lpddsd->ddpfPixelFormat.dwRGBBitCount);
sprintf(sBuf, " PixelFormat flags=%x(%s) BPP=%d",
flags, ExplainPixelFormatFlags(flags), lpddsd->ddpfPixelFormat.dwRGBBitCount);
if (flags & DDPF_RGB) {
if (flags & DDPF_ALPHAPIXELS) {
sprintf(sItem, " RGBA=(%x,%x,%x,%x)",
@ -1443,6 +1443,13 @@ HRESULT WINAPI extDirectDrawCreate(GUID FAR *lpguid, LPDIRECTDRAW FAR *lplpdd, I
HookDDSession(lplpdd, dxw.dwDDVersion);
// beware: old ddraw games seem to reuse a closed ddraw handle. The theory is that maybe whenever
// you created a ddraw session, you got more than one reference count, so that releasing it once
// did not destroy the object.... but why? when (I mean, in which situations? Maybe not always...)
// and for which releases? The fix here assumes that this fact is true and holds always for ddraw 1
// sessions.
if(dxw.dwDDVersion==1) (*lplpdd)->AddRef(); // seems to fix problems in "Warhammer 40K Rites Of War"
if(IsDebug && (dxw.dwTFlags & OUTPROXYTRACE)){
DDCAPS DriverCaps, EmulCaps;
memset(&DriverCaps, 0, sizeof(DriverCaps));
@ -3438,6 +3445,7 @@ HRESULT WINAPI extSetClipper(LPDIRECTDRAWSURFACE lpdds, LPDIRECTDRAWCLIPPER lpdd
// v2.1.84: SUPPRESSCLIPPING flag - improves "Monopoly Edition 3D" where continuous
// clipping ON & OFF affects blitting on primary surface.
// Needed also to avoid "New Yourk Racer" intro movie clipping.
if(dxw.dwFlags1 & SUPPRESSCLIPPING) return 0;
if(dxw.dwFlags1 & (EMULATESURFACE|EMULATEBUFFER)){

View File

@ -72,7 +72,7 @@ static char *Flag4Names[32]={
"ZBUFFERCLEAN", "ZBUFFER0CLEAN", "ZBUFFERALWAYS", "DISABLEFOGGING",
"NOPOWER2FIX", "NOPERFCOUNTER", "ADDPROXYLIBS", "INTERCEPTRDTSC",
"LIMITSCREENRES", "NOFILLRECT", "HOOKGLIDE", "HIDEDESKTOP",
"", "", "", "",
"STRETCHTIMERS", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
@ -787,8 +787,10 @@ LRESULT CALLBACK extWindowProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lp
}
}
if(dxw.dwFlags4 & STRETCHTIMERS){
if(LastTimeShift != dxw.TimeShift) dxw.RenewTimers();
LastTimeShift=dxw.TimeShift;
}
switch(message){
// v2.02.13: added WM_GETMINMAXINFO/WM_NCCALCSIZE interception - (see Actua Soccer 3 problems...)
@ -1200,7 +1202,8 @@ LONG CALLBACK Int3Handler(PEXCEPTION_POINTERS ExceptionInfo)
mov myPerfCount.HighPart, edx
}
#endif
myPerfCount = dxw.StretchCounter(myPerfCount);
//myPerfCount = dxw.StretchCounter(myPerfCount);
myPerfCount = dxw.StretchLargeCounter(myPerfCount);
OutTraceDW("Int3Handler: INT3 at=%x tick=%x RDTSC=%x:%x\n",
ExceptionInfo->ExceptionRecord->ExceptionAddress, (*pGetTickCount)(), myPerfCount.HighPart, myPerfCount.LowPart);

View File

@ -1438,18 +1438,24 @@ void dxwCore::PopTimer(HWND hWnd, UINT_PTR nIDEvent)
void dxwCore::RenewTimers()
{
OutTraceE("DXWND: RenewTimers type=%x\n", TimerEvent.dwTimerType);
switch(TimerEvent.dwTimerType){
case TIMER_TYPE_NONE:
OutTraceDW("DXWND: RenewTimers type=NONE\n");
break;
case TIMER_TYPE_USER32:
if(pSetTimer && pKillTimer){
UINT uElapse;
UINT_PTR res;
(*pKillTimer)(TimerEvent.t.hWnd, TimerEvent.t.nIDEvent);
res=(*pKillTimer)(TimerEvent.t.hWnd, TimerEvent.t.nIDEvent);
if(!res) OutTraceE("DXWND: KillTimer ERROR hWnd=%x IDEvent=%x err=%d\n", TimerEvent.t.hWnd, TimerEvent.t.nIDEvent, GetLastError());
uElapse = dxw.StretchTime(TimerEvent.t.uElapse);
res=(*pSetTimer)(TimerEvent.t.hWnd, TimerEvent.t.nIDEvent, uElapse, TimerEvent.t.lpTimerFunc);
TimerEvent.t.nIDEvent = res;
if(res)
OutTraceDW("DXWND: RenewTimers type=USER32 Elsapse=%d IDEvent=%x\n", uElapse, res);
else
OutTraceE("DXWND: SetTimer ERROR hWnd=%x Elapse=%d TimerFunc=%x err=%d\n", TimerEvent.t.hWnd, uElapse, TimerEvent.t.lpTimerFunc, GetLastError());
}
break;
case TIMER_TYPE_WINMM:
@ -1463,9 +1469,37 @@ void dxwCore::RenewTimers()
OutTraceDW("DXWND: RenewTimers type=WINMM Delay=%d TimerId=%x\n", NewDelay, res);
}
break;
default:
OutTraceE("DXWND: RenewTimers type=%x(UNKNOWN)\n", TimerEvent.dwTimerType);
break;
}
}
LARGE_INTEGER dxwCore::StretchLargeCounter(LARGE_INTEGER CurrentInCount)
{
LARGE_INTEGER CurrentOutPerfCount;
static LARGE_INTEGER LastInPerfCount;
static LARGE_INTEGER LastOutPerfCount;
static BOOL FirstTime = TRUE;
LARGE_INTEGER ElapsedCount;
if(FirstTime){
// first time through, initialize both inner and output per counters with real values
LastInPerfCount.QuadPart = CurrentInCount.QuadPart;
LastOutPerfCount.QuadPart = CurrentInCount.QuadPart;
FirstTime=FALSE;
}
ElapsedCount.QuadPart = CurrentInCount.QuadPart - LastInPerfCount.QuadPart;
ElapsedCount = dxw.StretchCounter(ElapsedCount);
CurrentOutPerfCount.QuadPart = LastOutPerfCount.QuadPart + ElapsedCount.QuadPart;
LastInPerfCount = CurrentInCount;
LastOutPerfCount = CurrentOutPerfCount;
OutTraceB("dxw::StretchCounter: Count=[%x-%x]\n", CurrentOutPerfCount.HighPart, CurrentOutPerfCount.LowPart);
return CurrentOutPerfCount;
}
BOOL dxwCore::CheckScreenResolution(unsigned int w, unsigned int h)
{
#define HUGE 100000

View File

@ -113,6 +113,7 @@ public: // methods
void PopTimer(HWND, UINT_PTR);
void RenewTimers();
BOOL CheckScreenResolution(unsigned int, unsigned int);
LARGE_INTEGER StretchLargeCounter(LARGE_INTEGER);
public: // simple data variables
DDPIXELFORMAT ActualPixelFormat;

View File

@ -24,7 +24,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "dxwnd.h"
#include "dxwcore.hpp"
#define VERSION "2.02.58"
#define VERSION "2.02.59"
#define DDTHREADLOCK 1

Binary file not shown.

View File

@ -351,17 +351,18 @@ void WINAPI extGetSystemTimeAsFileTime(LPFILETIME lpSystemTimeAsFileTime)
BOOL WINAPI extQueryPerformanceCounter(LARGE_INTEGER *lpPerformanceCount)
{
BOOL ret;
LARGE_INTEGER myPerfCount;
if(dxw.dwFlags4 & NOPERFCOUNTER){
ret=0;
myPerfCount.QuadPart = 0;
(*lpPerformanceCount).QuadPart = 0;
}
else{
ret=(*pQueryPerformanceCounter)(&myPerfCount);
myPerfCount = dxw.StretchCounter(myPerfCount);
LARGE_INTEGER CurrentInCount;
ret=(*pQueryPerformanceCounter)(&CurrentInCount);
*lpPerformanceCount = dxw.StretchLargeCounter(CurrentInCount);
}
*lpPerformanceCount = myPerfCount;
OutTraceB("QueryPerformanceCounter: ret=%x Count=%x-%x\n", ret, lpPerformanceCount->HighPart, lpPerformanceCount->LowPart);
OutTraceB("QueryPerformanceCounter: ret=%x Count=[%x-%x]\n", ret, lpPerformanceCount->HighPart, lpPerformanceCount->LowPart);
return ret;
}

View File

@ -149,7 +149,7 @@ FARPROC Remap_user32_ProcAddress(LPCSTR proc, HMODULE hModule)
if (addr=RemapLibrary(proc, hModule, MouseHooks2)) return addr;
if (dxw.dwFlags3 & PEEKALLMESSAGES)
if (addr=RemapLibrary(proc, hModule, PeekAllHooks)) return addr;
if(dxw.dwFlags2 & TIMESTRETCH)
if((dxw.dwFlags2 & TIMESTRETCH) && (dxw.dwFlags4 & STRETCHTIMERS))
if (addr=RemapLibrary(proc, hModule, TimeHooks)) return addr;
return NULL;
@ -2268,5 +2268,6 @@ BOOL WINAPI extKillTimer(HWND hWnd, UINT_PTR uIDEvent)
OutTraceDW("KillTimer: hwnd=%x IDEvent=%x\n", hWnd, uIDEvent);
ret = (*pKillTimer)(hWnd, uIDEvent);
OutTraceDW("KillTimer: ret=%x\n", ret);
if(ret) dxw.PopTimer(hWnd, uIDEvent);
return ret;
}

View File

@ -51,7 +51,8 @@ MMRESULT WINAPI exttimeSetEvent(UINT uDelay, UINT uResolution, LPTIMECALLBACK lp
MMRESULT res;
UINT NewDelay;
OutTraceDW("timeSetEvent: Delay=%d Resolution=%d Event=%x\n", uDelay, uResolution, fuEvent);
NewDelay = dxw.StretchTime(uDelay);
if(dxw.dwFlags4 & STRETCHTIMERS) NewDelay = dxw.StretchTime(uDelay);
else NewDelay = uDelay;
res=(*ptimeSetEvent)(NewDelay, uResolution, lpTimeProc, dwUser, fuEvent);
if(res) dxw.PushTimer(res, uDelay, uResolution, lpTimeProc, dwUser, fuEvent);
OutTraceDW("timeSetEvent: ret=%x\n", res);

View File

@ -204,6 +204,7 @@
#define IDC_INTERCEPTRDTSC 1161
#define IDC_NOFILLRECT 1162
#define IDC_HIDEDESKTOP 1163
#define IDC_STRETCHTIMERS 1164
#define ID_MODIFY 32771
#define ID_DELETE 32772
#define ID_ADD 32773

View File

@ -35,6 +35,7 @@ void CTabTiming::DoDataExchange(CDataExchange* pDX)
DDX_Check(pDX, IDC_SHOWTIMESTRETCH, cTarget->m_ShowTimeStretch);
DDX_Check(pDX, IDC_TIMESTRETCH, cTarget->m_TimeStretch);
DDX_Check(pDX, IDC_INTERCEPTRDTSC, cTarget->m_InterceptRDTSC);
DDX_Check(pDX, IDC_STRETCHTIMERS, cTarget->m_StretchTimers);
DDX_Text(pDX, IDC_MAXFPS, cTarget->m_MaxFPS);
DDX_LBIndex(pDX, IDC_LISTTS, cTarget->m_InitTS);
//{{AFX_DATA_MAP(CTabTiming)

View File

@ -123,6 +123,7 @@ CTargetDlg::CTargetDlg(CWnd* pParent /*=NULL*/)
m_ShowFPSOverlay = FALSE;
m_ShowTimeStretch = FALSE;
m_TimeStretch = FALSE;
m_StretchTimers = FALSE;
m_InterceptRDTSC = FALSE;
m_HookOpenGL = FALSE;
m_ForceHookOpenGL = FALSE;

View File

@ -104,6 +104,7 @@ public:
BOOL m_ShowFPSOverlay;
BOOL m_ShowTimeStretch;
BOOL m_TimeStretch;
BOOL m_StretchTimers;
BOOL m_InterceptRDTSC;
BOOL m_HookOpenGL;
BOOL m_ForceHookOpenGL;

View File

@ -401,6 +401,7 @@ BEGIN
GROUPBOX "Time Stretching",IDC_STATIC,7,94,139,102
CONTROL "Show time stretch",IDC_SHOWTIMESTRETCH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,134,84,10
CONTROL "Intercept RDTSC opcode",IDC_INTERCEPTRDTSC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,164,127,10
CONTROL "Stretch timers",IDC_STRETCHTIMERS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,176,127,10
END
IDD_TAB_OUTPUT DIALOGEX 0, 0, 300, 240

Binary file not shown.

View File

@ -232,6 +232,7 @@ static void SetTargetFromDlg(TARGETMAP *t, CTargetDlg *dlg)
if(dlg->m_ShowFPSOverlay) t->flags2 |= SHOWFPSOVERLAY;
if(dlg->m_ShowTimeStretch) t->flags4 |= SHOWTIMESTRETCH;
if(dlg->m_TimeStretch) t->flags2 |= TIMESTRETCH;
if(dlg->m_StretchTimers) t->flags4 |= STRETCHTIMERS;
if(dlg->m_InterceptRDTSC) t->flags4 |= INTERCEPTRDTSC;
if(dlg->m_HookOpenGL) t->flags2 |= HOOKOPENGL;
if(dlg->m_ForceHookOpenGL) t->flags3 |= FORCEHOOKOPENGL;
@ -387,6 +388,7 @@ static void SetDlgFromTarget(TARGETMAP *t, CTargetDlg *dlg)
dlg->m_ShowFPSOverlay = t->flags2 & SHOWFPSOVERLAY ? 1 : 0;
dlg->m_ShowTimeStretch = t->flags4 & SHOWTIMESTRETCH ? 1 : 0;
dlg->m_TimeStretch = t->flags2 & TIMESTRETCH ? 1 : 0;
dlg->m_StretchTimers = t->flags4 & STRETCHTIMERS ? 1 : 0;
dlg->m_InterceptRDTSC = t->flags4 & INTERCEPTRDTSC ? 1 : 0;
dlg->m_HookOpenGL = t->flags2 & HOOKOPENGL ? 1 : 0;
dlg->m_ForceHookOpenGL = t->flags3 & FORCEHOOKOPENGL ? 1 : 0;