Hi guys!
I would like to discuss the topic of HD interface...
Can anyone find a few ideas?
Hi guys!
I would like to discuss the topic of HD interface...
Can anyone find a few ideas?
What you mean by HD interface? Nowadays the term HD is so disturbed that I don't know what people means when use it.
what server? can u tell us?
The problem is that the images with a width of 640 px stretch for high resolution. Because the window resolution 640x480 px , and it really does not change , and stretched. As a result, we have lubricated interface. Not to mention the wide screens and not proportional to 640x480 resolutions. Sorry for the Google translation .
Проблема в том что картинки с шириной 640 px тянутся на большие разрешения. Потому что разрешение окна 640x480 px и оно на самом деле не меняется, а растягивается. В итоге мы имеем смазанный интерфейс. Не говоря уже о широкоформатных экранах и не пропорциональных 640x480 разрешениях.
That is right, but it's still possible to "fix" that.
Will be a painful job, but I think it's possible.
I had the same idea a few days ago...
So I start searching something and found some interesting stuff, like this:
The cursor.tga (32x32), game renders it as 24x24 on 640x480.
So i changed my resolution to 2560x1080, it looks awful.
(2560*24)/640=96px
(1080*24)/480=54px.
The game renders the cursor scaled, so it will be 96x54.
So I made a few changes and corrected the aspect ratio of the cursor, now it is 54x54.
See screenshot attached.
The same idea can be done with the UI, but will take a lot of effort and a good set of images in HD.
I'm not a designer, so... fail :P
[]'s
Last edited by navossoc; 12-01-15 at 05:09 PM.
Well the solution is to just test out with replacing a certain texture with an HD one, for example replace the original cursor with a HD one even a different one would work just to check if it would stretch or not. At least that's how I see things, before starting to work on something and wasting time.
I think maybe rewrite functions to display images . The interface is loaded separately from the game image and uses this to other functions.
You can try using OpenGl, according to an embodiment of the horizon or the sky. At least you can try to do something similar in zMain S3 ep2 already found offsets most of the functionality you need .
As a result , you can get any resolution and separate from the drawing interface 640x480 : D ( for example in the upper right corner).
Я думаю возможно переписать функции вывода изображений. Интерфейс загружается отдельного от игровой картинки и использует для этого другие функции.
Можно попробовать использовать OpenGl, по примеру реализации горизонта или неба. Как минимум можно попробовать сделать нечто подобное в zMain S3 ep2 так уже найдены офсеты большинства нужных функций.
Как итог можно получить любое разрешение и отдельно от рисованный интерфейс 640х480 : D (к примеру в верхнем правом углу).
Not sure how I can do that but, let me try:
I started from here:
Set a few breaking points, see where it write, etc..push 1 ; /Arg6 = 00000001
push 0 ; |Arg5 = 00000000
push 2900 ; |Arg4 = 00002900
push 2601 ; |Arg3 = 00002601
push 2 ; |Arg2 = 00000002
push 00726E54 ; |Arg1 = 00726E54 ASCII "Interface\Cursor.tga"
call 00696C9C ; \main.00696C9C
Then I get here:
The bold number it's the texture number, so this function draw all sprites.fild dword ptr ds:[7DF17E8]
push 0
push 1
push 1
push 3F800000
fsub dword ptr ds:[7036FC]
push 3F800000
push 0
push 0
push 41C00000 ; height
push 41C00000 ; width
push ecx
fstp dword ptr ss:[esp]
fild dword ptr ds:[7DF17EC]
push ecx
fsub dword ptr ds:[7036FC]
fstp dword ptr ss:[esp]
push 2 ; |Arg1 = 00000002
call 0067A8D7 ; \main.0067A8D7 ; hook me
Just hook it and have fun with the input values.
This is far I can go, good luck with that now.VOID __CDECL Hook::Main::DrawSprite(DWORD id, FLOAT x, FLOAT y, FLOAT width, FLOAT height, FLOAT u, FLOAT v, FLOAT u2, FLOAT v2, BOOL scaleSize, BOOL scalePosition, FLOAT alpha)
I think you have enough information to play around.
If you find anything useful, let me know.
[]'s