Daedolon on 31/5/2009 at 23:30
I didn't touch the executable file, should I try to use DDfix first?
Nameless Voice on 31/5/2009 at 23:38
Yes, apply DDFix first. The pre-patched executables should be compatible with the widescreen mod.
Daedolon on 1/6/2009 at 09:31
Well, I'm getting this error with DDfix:
"Unable to find any occurances of DDRAW.DLL in Shock2.exe
Please download a prepatched exe"
Daedolon on 1/6/2009 at 19:53
I don't really know, heh, I bought mine used so I'm unaware of its origins.
Thanks for the link, I got it working! Now if I only could play in windowed mode...
Daedolon on 1/6/2009 at 20:57
I already tried the program plus two others named 3D Analyzer and DXWnd but none of them worked. I'm assuming I have to fiddle with the DDfix and DarkWidescreen and set them to the windowed resolution I want to use.
Nameless Voice on 1/6/2009 at 22:00
If your desktop resolution is 1280x1024 (for example) and you have DDFix set to run at 1280x1024), then it will still appear fullscreen when running windowed, since that "window" takes up the entire screen.
In other words, the size of the window is the resolution set in DDFix, yes.
weak-ling on 2/6/2009 at 00:12
DarkWidescreen version 6 release 3 is out. This release includes support for additional executable versions only but does not add any new features. If you already have the first or second release of version 6 installed then you should not update to this new release.
Download:
(
http://files.filefront.com/DarkWidescreen+v6r3zip/;13839558;/fileinfo.html)
Changelog:
- Support for demos: Thief "Lord Bafford's Manor", Thief "Assassins", Thief Gold, Thief 2, System Shock 2 (reported by Hiatus)
- Support for yet another version of Dromed (reported by Hiatus)
- Updated to the latest WeiDU (version 210)
SunBeam on 22/6/2009 at 08:00
@
Daedolon: D3D Windower doesn't work in conjunction with DDFix. Since DDFix hooks ddraw, same thing D3D Windower's dll does. One's hook slaps the other's hook. Try it without DDFix and you'll see it sends game windowed. You might want to also hook DirectInput's Get?SetCursorPos, or your mouse pointer would be always put into left corner of your screen (X: 0 | Y: 0) ;-)
P.S.: Why hasn't DDFix's author implemented windowed mode from DDFix from first place? It's a great feature for us, game debuggers ;-)
EDIT 1: Ah, lol. Didn't see this in src:
Quote:
//TODO: windowed mode
//TODO: non-exclusive fullscreen mode
Ok, guess I'll either do it myself or wait for it ;-)
EDIT 2:A simple suggestion, since I see lots of related issues about it, would be to hook LoadLibraryA and swap ddraw.dll for ddfix.dll, without the need of a clean, non-SafeDisc-ed file. See this:
Inline Image:
http://i41.tinypic.com/a1kgg4.pngESI =
7158B8;
ESI+10 =
7158C8;
[ESI+10] =
67996C; // the one address you guys "patch" or "pre-patch" to change string ('raw' to 'fix')..
Therefore, to make it global, let's hook API that takes care of loading the dll ;-)
@LoadLibraryA:
7C801D77 MOV EDI,EDI
7C801D79 PUSH EBP
7C801D7A MOV EBP,ESP // on XP SP2/SP3
--
@LoadLibraryA:
7C801D77 JMP my_Hook
@my_Hook:
PUSHAD // pushes 8 DWORDs to stack (all registers) - 8x4 = 0x20
PUSHFD // pushes EFL instance to stack, 1 DWORD = 0x4
MOV ESI,[ESI+14] // grabs pointer to ddraw API to get address of after dll is loaded
MOV EDI,myBuffAddr1 // set destination
REPE CMPS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI] // compare source against destination for equal bytes
JNE SHORT @end // if succeeds, execute next MOV; if not, skip
MOV DWORD PTR SS:[ESP+offset],myBufAddr2 // swap ddraw for ddfix
@end:
POPFD // restore flags
POPAD // restore registers
MOV EDI,EDI // original bytes
PUSH EBP // original bytes
MOV EBP,ESP // original bytes
JMP @LoadLibraryA+5 // jump back @API+5 (below the hook JMP)
This would need a loader/injector of your own dll into Thief2.exe though..