Newbie Spellweaver
- Joined
- May 29, 2013
- Messages
- 5
- Reaction score
- 0
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
[]'s
Not sure how I can do that but, let me try:Can you post function what you used for resize texture?
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
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
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)
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..
Then I get here:
The bold number it's the texture number, so this function draw all sprites.
Just hook it and have fun with the input values.
This is far I can go, good luck with that now.
I think you have enough information to play around.
If you find anything useful, let me know.
[]'s
#define pDrawImage ((void(__cdecl*)(int ImageID, float PosX, float PosY, float Width, float Height, int Arg6, int Arg7, float ScaleX, float ScaleY, int ScaleSize, int ScalePosition, int Alpha)) 0x637C60)