Jump to content
Returning Members: Password Reset Required ×

Recommended Posts

Posted

Hello, 

I'm trying to make a server for me and cousin to play. I'm dealing with some client issues right now.. Can anyone help me on how do I move the main hud in the middle I tried editing GUI 0-130 it doesn't seems to work in any way. Could it be that this is hard codded in conquer.exe? 5065 client

Untitledczxc.png

Posted

I appreciate the reply but that doesn't work with me. my main hud is hardcodded inside conquer.exe I just don't know how to find it. if only someone can help me with this

 

Posted

Conquer GUI is based on MFC, so windows / dialogs are moved with the MoveWindow API call under the hood. The 0-130 gui element is hard-coded to the 0 position in `x`.

  • 2 weeks later...
Posted

Your solution is what CptSky called out, you need to overwrite the hard coded 0 value that's assigned to 0-130.

Additionally I strongly recommend detouring the function call which places Dialogue items on the conquer window.

On 5/3/2026 at 8:43 PM, CptSky said:

Conquer GUI is based on MFC, so windows / dialogs are moved with the MoveWindow API call under the hood. The 0-130 gui element is hard-coded to the 0 position in `x`.

 

Posted

The panel GUI is forced set by Conquer.exe in memory, you have to hook it before each game initialization

Hint : search for sequence of commands 

PUSH 1
PUSH 0x8D

image.png.7cfc39dc722723dfa89c2cd0cca7ecc1.png

Make sure that you see graphic.GetScreenWidth&Height in the same region 

MFC42.4299 = MoveWindow API 

You can hook MoveWindows api C++ Using ( Detours || MinHook )

 


typedef BOOL (WINAPI* MoveWindow_t)(HWND hWnd,int X,int Y,int nWidth,int nHeight,BOOL bRepaint);

MoveWindow_t oMoveWindow = MoveWindow;// Get MoveWindows address from Conquer.exe depends on your version


BOOL WINAPI hkMoveWindow(HWND hWnd,int X,int Y,int Width,int Height,BOOL bRepaint)
{
		//Declare your Game Width&Height ( Current_Game_W / Current_Game_H)
		// The panel default X = 0 , Y = Current_Game_H - 141 
		// Panel height = 141 ( 0x8D )
		
		if (Height == 0x8D && X == 0 &&Y == (Current_Game_H - 141)  && bRepaint )
		{
				X = 0;
				Y = your_disered_Y_HERE;
		}

    return oMoveWindow(hWnd,X,Y,Width,Height,bRepaint);
}



void InstallMoveWindowsApi()//Call this inside you DLLMain
{
    DetourTransactionBegin();
    DetourUpdateThread(GetCurrentThread());
    DetourAttach(&(PVOID&)oMoveWindow,hkMoveWindow);
    DetourTransactionCommit();
}

 

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...