#Error 22 diablo 2 directdraw software
Thanks for all the great work, btw! You wouldn't believe how many streamers out there truely love what you're doing!Įdit: cleared dxtory and SCFH DSF and added a new log file.Ģ2:37:07: Server Ping plugin strings not found, dynamically loading 24 stringsĢ2:38:30: Open Broadcaster Software v0.571b - 64bit ( ^ω^)Ģ2:38:30: -Ģ2:38:30: CPU Name: AMD FX(tm)-8350 Eight-Core ProcessorĢ2:38:30: Physical Memory: 8174MB Total, 6146MB FreeĢ2:38:30: stepping id: 0, model 2, family 15, type 0, extmodel 0, extfamily 3, HTT 1, logical cores 8, total cores 4Ģ2:38:30: monitor 1: pos=Ģ2:38:30: Windows Version: 6.1 Build 7601 SĢ2:38:30: 00000000F8CF0000 DShowAudioPlugin.dllĢ2:38:30: 00000000F8A20000 DShowPlugin.dllĢ2:38:30: 00000000F89F0000 GraphicsCapture.dllĢ2:38:30: 00000000F8850000 ServerPingPlugin.dllĢ2:38:30: Video Adapter: AMD Radeon HD 6700 SeriesĢ2:38:30: Video Adapter Dedicated Video Memory: 1062043648Ģ2:38:30: Video Adapter Shared System Memory: 4017156096Ģ2:38:30: =Stream Start:, 22:38:30=Ģ2:38:30: Multithreaded optimizations: OnĢ2:38:30: Loading up D3D10 on AMD Radeon HD 6700 Series.Ģ2:38:30: Using desktop audio input: Lautsprecher (VIA High Definition Audio)Ģ2:38:30: Using auxilary audio input: Mikrofon (USB PnP Sound Device) If you need any more of my logfiles from OBS to examine this, please let me know - I'll check back here regularly. Here's a twitch recording showing this phenomenon: Since AoC games can be rather lengthy and even the waiting window might be displayed a few minutes before the actual game starts, "alt-tabbing" is kind of a must here :S Working so far.Ģ2:39:05: DoDDrawHook: no surface descriptor foundĢ2:39:05: CopyDDrawTextureThread: waiting for copyEventsĢ2:39:05: DoDDrawHook: found 32bit format (using plain copy)Ģ2:39:05: DoDDrawHook: frontSurface width = 1920, height = 1080Ģ2:39:05: DoDDrawHook(): Could not create offscreen captureĢ2:39:05: CopyDDrawTextureThread: killedWhat also might be interesting for you guys: I'm using the "simple scene switcher" and I added the "most recent 64-bit Build", since I'm running OBS on 64bit as well. Quick Edit: Just tried to compile 64bit version and tested it with Diablo1. There is still some work to be done, and I also started working on DX8-Capture, so stay tuned! :) Same goes for Starcraft 1 btw, though I have problems with palette swaps. (Note: the first image is not exactly what it looks like on monitor, but you get the idea) Here are two screenshots one with and one without the fix: So even though other Windows-programs in the background can mess up the palette, the colors stay the same. If it was the primary surface I simply reset the palette to the one I saved earlier. Everytime the game calls IDirectDrawSurface::Unlock I check if this method was called for the primary surface (the surface that is drawn to screen). Every time the game sets a palette, I save it in a structure. My fix is really straightforward, though not very efficient. As a result you can get weird colors like purple water in Age of Empires 2. The game does not check if the palette changed and assumes that everything is in order. But in the meantime programs like explorer.exe (wtf?) changes the system palette and messes up the entries. What is basically happening is the game creates a palette and sets it as the current state.
As probably many of you have experienced already, old DirectDraw games look quite ugly on Windows 7, because Microsoft didn't stick with their own suggestion to NOT SWAP PALETTES WHEN NOT IN FULLSCREEN. I also implemented a fix to broken palettes on Win7. At the moment the plugin causes some games to randomly crash, I didn't find the cause yet, maybe it's a problem with threading.
#Error 22 diablo 2 directdraw code
I will probably change the code a bit to work around this issue. I am using the IDirectDraw7 interface throughout the whole code now, what makes the capture work with a lot of "newer" games, but seem to cause some issues with games that use the old interface.