MU Online Interface HD

Results 1 to 10 of 10
  1. #1
    Apprentice Atlantica2 is offline
    MemberRank
    May 2013 Join Date
    Москва, RLocation
    5Posts

    MU Online Interface HD

    Hi guys!


    I would like to discuss the topic of HD interface...

    Can anyone find a few ideas?


  2. #2
    Lage Company™ afonsolage is offline
    MemberRank
    Mar 2012 Join Date
    Fortaleza, BRALocation
    244Posts

    Re: MU Online Interface HD

    What you mean by HD interface? Nowadays the term HD is so disturbed that I don't know what people means when use it.

  3. #3
    O_o psychedelic is offline
    MemberRank
    Nov 2013 Join Date
    LatviaLocation
    270Posts

    Re: MU Online Interface HD

    what server? can u tell us?

  4. #4
    MuOnline custom moder Oo DragonMU is offline
    MemberRank
    Jan 2007 Join Date
    324Posts

    Re: MU Online Interface HD

    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 разрешениях.

  5. #5
    Let's do this... navossoc is offline
    MemberRank
    Sep 2004 Join Date
    BrazilLocation
    305Posts

    Re: MU Online Interface HD

    Quote Originally Posted by DragonMU View Post
    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
    Attached Thumbnails Attached Thumbnails mouse.jpg  
    Last edited by navossoc; 12-01-15 at 05:09 PM.

  6. #6
    Alpha Member Thunda is offline
    MemberRank
    Jan 2009 Join Date
    Behind the maskLocation
    2,032Posts

    Re: MU Online Interface HD

    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.

  7. #7
    MuOnline custom moder Oo DragonMU is offline
    MemberRank
    Jan 2007 Join Date
    324Posts

    Re: MU Online Interface HD

    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 (к примеру в верхнем правом углу).

  8. #8
    O_o psychedelic is offline
    MemberRank
    Nov 2013 Join Date
    LatviaLocation
    270Posts

    Re: MU Online Interface HD

    Quote Originally Posted by navossoc View Post
    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
    Can you post function what you used for resize texture?

  9. #9
    Let's do this... navossoc is offline
    MemberRank
    Sep 2004 Join Date
    BrazilLocation
    305Posts

    Re: MU Online Interface HD

    Quote Originally Posted by psychedelic View Post
    Can you post function what you used for resize texture?
    Not sure how I can do that but, let me try:

    I started from here:

    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
    Set a few breaking points, see where it write, etc..

    Then I get here:

    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
    The bold number it's the texture number, so this function draw all sprites.

    Just hook it and have fun with the input values.

    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)
    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

  10. #10
    O_o psychedelic is offline
    MemberRank
    Nov 2013 Join Date
    LatviaLocation
    270Posts

    Re: MU Online Interface HD

    Quote Originally Posted by navossoc View Post
    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
    Thanks!
    Also zTeam client source already have this hook:
    #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)



Advertisement