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.