Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


A little about DXWnd (permanent windowed mode)

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking
View previous topic :: View next topic  
Author Message
Anden100
Grandmaster Cheater
Reputation: 0

Joined: 20 Apr 2007
Posts: 668

PostPosted: Thu Nov 08, 2007 9:30 am    Post subject: A little about DXWnd (permanent windowed mode) Reply with quote

The DXWnd is simply an .dll injector that injects the "DXWnd.dll"

the exe file also edit the file called "DXWnd.ini" file, that the .dll file gets its info about your game from

What i found out was that you are able to use DXWnd as a "permanent windowed mode" just copy/paste DXWnd.dll and DXWnd.ini to your maplestory directory and rename DXWnd.dll to pcomdebug.dll (i dont know why it has to be renamed to exactly "pcomdebug.dll" but this will make the .dll get atached automaticly) (you need to have DXWnd.exe open when opening maplestory in windowed mode, dont know why...)

If you try to open the DXWnd.ini file useing Notepad you'll get something like this (im useing Maplestory as an example)

Quote:
path0=C:\Nexon\MapleStory\MapleStory.exe [Path of Maplestory.exe]
ver0=8 [version of Direct X]
flag0=0
initx0=0
inity0=0
minx0=0
miny0=0
maxx0=800 [game cordinats range X]
maxy0=600 [game cordinats range Y]


Quote:
Note: that this is only the information you filled in when adding maplestory in DXWnd, lets say you ticked [Emulate 256 color palette], there would be a line in the DXWnd.ini file telling that you ticked [Emulate 256 color palette]




(this altso means that you can inject any .dll file into any game useing DXWnd, just rename the .dll file to DXWnd.dll)

I found out all what i just said all by myself, please dont post this anywhere else and take credits for it

Thanks to:
SFB7 for creating
DoomsDay for translation, size fix and bypassing
Back to top
View user's profile Send private message
Fluorescent
Newbie cheater
Reputation: 0

Joined: 06 Oct 2007
Posts: 18

PostPosted: Thu Nov 08, 2007 1:15 pm    Post subject: Reply with quote

PCOMDebug is being Loaded by PCOM, perhaps, the developer uses PCOMDebug as a Debugger in development stages?
Back to top
View user's profile Send private message
Flyte
Peanuts!!!!
Reputation: 6

Joined: 19 Apr 2006
Posts: 1887
Location: Canada

PostPosted: Thu Nov 08, 2007 5:31 pm    Post subject: Reply with quote

Excellent deduction of the obvious. Now the question is, what does the .dll do? Spoiler: It hooks DirectX and modifies the screen state on window creation. D3DPRESENT_PARAMETERS.Windowed; (At least that is how I do it)
Back to top
View user's profile Send private message
atom0s
Moderator
Reputation: 205

Joined: 25 Jan 2006
Posts: 8587
Location: 127.0.0.1

PostPosted: Thu Nov 08, 2007 5:42 pm    Post subject: Reply with quote

Flyte wrote:
It hooks DirectX and modifies the screen state on window creation. D3DPRESENT_PARAMETERS.Windowed; (At least that is how I do it)


A bit more work involved then just that to get a game to run in a "perfect" window. Most games will have some method to try to keep the game in fullscreen, or use Reset to their advantage to keep the game in a window.

Some things that you would want to hook:

(To Fix Window Params And Such)
- CreateWindowEx
- SetWindowLongPtr

Along with that, when you wrap the DirectX device you should also alter the reset function. Pass it the new PresentationParams that were used after altering CreateDevice.

I wrote a tutorial and windower for Need For Speed Most Wanted and released the source here:

Tutorial:
http://www.extalia.com/forums/viewtopic.php?f=45&t=2578

Source:
http://www.extalia.com/forums/viewtopic.php?f=45&t=2597

(I didn't edit the Reset() for this as the only time it was reset was when you changed the resolution in game. Haven't had time to update the release with the fix for it, but yea, nothing major.)

For anyone that might ask, to fix the reset thing:

Code:
HRESULT Direct3DDevice9Wrapper::Reset(D3DPRESENT_PARAMETERS *pPresentationParameters)
{
   pPresentationParameters->Windowed = true;
   pPresentationParameters->Flags = 0;
   pPresentationParameters->FullScreen_RefreshRateInHz = 0;
   return Direct3DDevice9->Reset(pPresentationParameters);
}

_________________
- Retired.
Back to top
View user's profile Send private message Visit poster's website
Flyte
Peanuts!!!!
Reputation: 6

Joined: 19 Apr 2006
Posts: 1887
Location: Canada

PostPosted: Thu Nov 08, 2007 5:55 pm    Post subject: Reply with quote

Of course you will have to do other things (as not all games are similar), but that screen state flag is by far the most crucial (and universal).
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites