Need help at client resolution for 5065

03/14/2025 07:50 SigynTXM#1
Hi guys,

this is my first post so first of all I'd like to thank you. You do/did a very good job :handsdown:

I'm a developer and played CO 20 years ago - I love the old conquer.
I created a CO Server from Redux Source (5065) for me and my family, fixed many bugs in it and enhanced it with own items, npcs and functions. So I am proud to have figured everything out myself.

Everything with your very good posts, but now I'm stuck.
With our new high tech monitores, it's no fun playing 1024x768 and
I wasted 2 days time in searching and trying, but I'm at my wit's end.

So, please, can you give me some hints, how to make resolution to 1920x1080?

Do I need HexEditor, with which I have already managed multiclient?
Or do I need ollydbg?

Is conquer.exe the right file to change or is the resolution set in an other file?

What do I need to look for and what should I replace?

Any hint would help me.

Thanks to you.
03/17/2025 08:10 SigynTXM#2
Hi guy,

I just want to inform you, that I have almost got it - after 2 more days - so you don't have to answer this question.
The last mysterium is the "black area at the right side", but I think it is this /2 or /4 I have to (FIND and) change.

After I fixed it, I will write a guide how I did it and summarize all information I collected from the different posts, so other people can do it more easier than me.
03/20/2025 11:34 SigynTXM#3
Hi guys,

I finally did it and if you put the hints together it is quite easy.
My problem was - I didn't understand the hints.

So to help all of you, who have the same problems, here is a tutorial, how I fixed it.
I realy don't know if some exchanges are really recessary - you can try by your own.
And I don't know if this also works on higher clients.

You can also do it with other resolutions so you have a 800x600 and a higher one (e.g. 1920x1080).

0. Preparations

Start you client and change in options to screen resolution 1024x768 (Window - Fullscreen didn't work at me)

Make a copy of your conquer.exe (e.g. conquer_backup.exe) and the best way to test each step is to rename the original conquer.exe to conquer_orig.exe. So you can directly save the changed file to conquer.exe without closing ollydbg and test it.

Download ollydbg, run it and open conquer_orig.exe.

1. Bring Screen from 1024x768 to 1920x1080

After this step, client will start in higher resolution and has a black area at the right side.

First of all we need to exchange all pairs of 1024 and 768. So let's search for 768 because they are not so often.

Right click in code and choose Search for => All constants and type 300 (= 768) in hex field.
Go though the list and check for each entry if this entry has a similar line up to 5 lines above it with 400 (=1024).
If it is, I changed both values to the new resolution by double clicking the line:
400 => 780 (=1920)
300 => 438 (=1080)

You can check each replacement by right click in Code Copy to executeable => All modifications. You will get a new window with code and if you close it, it will ask for saving. Save it to conquer.exe and start your client.

If this change didn't work, you can delete conquer.exe and undo the changes by selecting the changes and right click on the code and choose undo.

By the way: I replaced ALL pairs.

2. Fill the black area

After this step the screen is completely filled, but the icons and bars have wrong positions.

This was a litte bit tricky, because I didn't understand how puzzles work.
The Screen is devided in squares which are calculated form 800x600 size.
Just imagine that a puzzle (part of screen) has the width of 100, conquer.exe calculates 800 / 100 = 8 - so it will place 8 puzzles in a line.
For 1024 resolution is adds + 3 = 11 = 1100 is filled and that's enough for 1024.
It's not enought for 1920, that's why you have the black area.

It seems to be impossible to add more +, so the solution is to make the first number bigger => 1920 / 100 = 19 + 3

To do this, we search for pairs of 800x600, but this time you can't replace all pairs of it.
Do the same steps as i decriped at 1., but test it after each change.
Search for 258(600) and pairs of 320(=800) and 258(600).
Replace them
320 => 780 (=1920)
258 => 438 (=1080)
Save and test it an undo your changes if it's not working.

You only have to replace 1 pair!

Now you can start client with 800x600 and 1920x1080 resolution and switch between them by changing the size in options (Only Window worked for me)

3. Rearrange the UI

Some posts said, this would be the hardest part, because you need to try and error which numbers you need to change, but there is a trick.

Start your client and write in the message field /enablefocus. Now you can move your mouse over the areas and get numbers in the message field.
Numbers with 0 XXX are outer frames and can have other objects in it - So you only need the change those and all subobjects will move as well.

There are two files for the GUI. /ini/Gui.ini for 1024x768 and /ini/Gui800x600.ini.
To change the position of the objects in our new resolution, we need to change /ini/Gui.ini.

e.g. we have the 2 values 0 123
Search for [0-123] and you will see 4 lines.
x, y, width and height.
Width and hight is the space the objects needs.
x and y are the positions on the screen, so change it to higher values and relogin to see if it fits.

e.g. we have the 2 values 123-456 for example at F-Key area
Search for [123-456] and you will see 4 lines.
x and y is now relative to the parent so x=5 and y=10 means it is 5 left and 10 down from the start point of its parent.

Also open each button and check if has a correct position.

I realy don't know how to hide objects, but if you don't need a object e.g. pathfinder or this merchant popup, you can set it outside your visible area by putting y=1080.

4. Easy Starter

It's annoying to login and change window size if you have two accounts as a main char and a seller.

That's why I wrote two easy starter. Just create two new files in your client folder: StartSmall.bat and StartBig.bat.

Open those with editor and copy the following in it:

Quote:
@echo off
setlocal enabledelayedexpansion

set "file=ini\GameSetUp.ini"

set "temp_file=%file%.tmp"

(for /f "tokens=* delims=" %%A in (%file%) do (
set "line=%%A"

echo !line! | findstr /i "ScreenModeRecord=" >nul
if not errorlevel 1 (
echo ScreenModeRecord=2
) else (
echo !line!
)
)) > %temp_file%


move /y %temp_file% %file%

start "" "ConquerLoader.exe"
Replace 2 in the small with 0.
And save both.

Now you can start your big Client by executing StartBig.bat and the small by StartSmall.bat


I hope this will help you a little bit and you don't have several days of try and error like me.