DDraw project I am working on
I spent some time analyzing the pointers that are passed into starcraft's graphics functions. I believe I can direct this data to an identical portion of the graphics card. Then layer it up. Also all of starcraft's writing functions write to a data arrays that is in display bit form. I might be able to direct different objects to a plan in the graphics card just by changing the pointers. It is not hard to used DDraw but it requires a lot of knowledge it the area. Then call a DDraw function that merges all the layers together in the correct order. You could even set up screen flipping at this point. This would allow you to write on top of or under any object just by patching pointers. This stuff I am talking about here is all supported in Direct Draw 4. I might use one function in Direct Draw 5. I already created a simple DDraw function that runs off a DLL when ejected into starcraft. It gets the primary display, adds a back plane that is identical and writes stuff on the screen. It doesn’t get written over when the code locations that write starcraft’s graphics have been NOPed out.
To summarize, my technique would consist of the following steps.
It redirects starcraft's display to a back display by hooking 2 functions and providing them with a pointer to the back display.
Changes pointers that write screen data to starcraft’s ScreenDataArray( this is in system memory) to a third layer in the graphics card. This would be done to the mouse or other objects that you don't want to write over.
Calls functions that will place the hack's pictures and stuff in a middle plane. These objects can be stored on the hard drive or in a DLL.
It merges these 3 layers together at 60Hz and uses page flipping to make the process faster and smoother. This will be set a 60Hz. Even integrated graphics could do this just fine. And because all my functions are high level DDraw, there will be a few people's computers that will use system memory. It still should work great.
Once I am finished would anyone be interested in me helping them do this to their hacks? I will be going to a family reunion these next few days. I plan on finishing this when I get back.
__________________
Last edited by hellinsect : 08-02-2008 at 05:29 PM.
|