MU Online

Guide Mu Online Widescreen Mod

-50% На доступ к закрытому контенту, теперь и с PayPal
Получите доступ к закрытым ссылкам всего за 250 рублей на 14 дней! Этим вы поможете форуму и получите много полезной информации!
Все прекрасно видели в лаунчерах 4 типа разрешений для окна MU.
[640x480 - 800x600 - 1024x768 - 1280x1024 - 1600х1200]

Но что же делать обладателям широкоформатных маниторов? Есть два решения:
1 - Играть в оконном режиме при одном из четырех режимов
2 - Патчить свой майн

Роясь в нете я наткнулся на одну статейку, где было решение, но оно какое-то нето, тоесть у некоторых все идеально было, а у некоторых немного не-то, что надо.

Вот собственно эта инфа, как-раз то что я искал:
What we're gonna do here is replace some of the hardcoded resolutions with the one we choose to support.
In this case I trashed 1600x1200, and replaced it with 1680x1050.

ok, lets get started:

Load main.exe in IDA you obviously need an unpacked main.exe for this to work.
I found the first code to be replaced by searching for a reference to SOFTWARE\\Webzen\\Mu\\Config, scroll down until the call ds:RegCloseKey.
you should see a switch like this:
(искать надо по "SOFTWARE\Webzen\Mu\Config" )
seg000:004B81D6                 call    ds:RegCloseKey
seg000:004B81DC                 mov     eax, ds:dword_5760A98
seg000:004B81E1                 cmp     eax, edi
seg000:004B81E3                 ja      short loc_4B8258
seg000:004B81E5                 jmp     ds:off_4B829C[eax*4] ; switch here
seg000:004B81EC
seg000:004B81EC loc_4B81EC:                             ; case 0
seg000:004B81EC                 mov     ds:width, 280h
seg000:004B81F6                 mov     ds:height, 1E0h
seg000:004B8200                 jmp     short loc_4B8258
seg000:004B8202 ; ---------------------------------------------------------------------------
seg000:004B8202
seg000:004B8202 loc_4B8202:                             ; case 1
seg000:004B8202                                         ;
seg000:004B8202                 mov     ds:width, 320h
seg000:004B820C                 mov     ds:height, 258h
seg000:004B8216                 jmp     short loc_4B8258
seg000:004B8218 ; ---------------------------------------------------------------------------
seg000:004B8218
seg000:004B8218 loc_4B8218:                             ; case 2
seg000:004B8218                                         ;
seg000:004B8218                 mov     ds:width, 400h
seg000:004B8222                 mov     ds:height, 300h
seg000:004B822C                 jmp     short loc_4B8258
seg000:004B822E ; ---------------------------------------------------------------------------
seg000:004B822E
seg000:004B822E loc_4B822E:                             ; case 3
seg000:004B822E                                         ;
seg000:004B822E                 mov     ds:width, 500h
seg000:004B8238                 mov     ds:height, 400h
seg000:004B8242                 jmp     short loc_4B8258
seg000:004B8244 ; ---------------------------------------------------------------------------
seg000:004B8244
seg000:004B8244 loc_4B8244:                             ; case 4 ---> we need to patch these
seg000:004B8244                                         ;
seg000:004B8244                 mov     ds:width, 640h    ; 640h = 1600 change to 690h
seg000:004B824E                 mov     ds:height, 4B0h ; 4B0 = 1200 change to 41Ah
Now we should have the game creating a full screen window of the right size, but the font is all fucked up... let's fix it. Search for "UpdateWindow", scroll down a bit and you should see this:
seg000:004B9439                 call    ds:UpdateWindow
seg000:004B943F                 mov     eax, ds:hWnd
seg000:004B9444                 push    eax
seg000:004B9445                 call    sub_44F1D0
seg000:004B944A                 add     esp, 4
seg000:004B944D                 push    offset aGgConnectWindo ; "> gg connect Window Handle.\r\n"
seg000:004B9452                 push    offset unk_5760850 ; int
seg000:004B9457                 call    sub_41FAC0
seg000:004B945C                 add     esp, 8
seg000:004B945F                 mov     ecx, offset unk_5760850 ; int
seg000:004B9464                 call    sub_41FC70
seg000:004B9469                 mov     ecx, ds:hWnd
seg000:004B946F                 push    ecx             ; HWND
seg000:004B9470                 mov     ecx, offset unk_5760850 ; int
seg000:004B9475                 call    sub_41FE50
seg000:004B947A                 mov     ecx, offset unk_5760850 ; int
seg000:004B947F                 call    sub_41FC70
seg000:004B9484                 push    401h
seg000:004B9489                 mov     edx, ds:hWnd
seg000:004B948F                 push    edx
seg000:004B9490                 mov     ecx, offset dword_5760828
seg000:004B9495                 call    sub_447040
seg000:004B949A                 mov     eax, ds:width        ; get width
seg000:004B949F                 mov     [ebp+var_2458], eax
seg000:004B94A5                 cmp     [ebp+var_2458], 400h    ; if(width>1024)
seg000:004B94AF                 ja      short loc_4B94D7    ;   goto loc_4B94D7
seg000:004B94B1                 cmp     [ebp+var_2458], 400h
seg000:004B94BB                 jz      short loc_4B94FD
seg000:004B94BD                 cmp     [ebp+var_2458], 280h
seg000:004B94C7                 jz      short loc_4B94E5
seg000:004B94C9                 cmp     [ebp+var_2458], 320h
seg000:004B94D3                 jz      short loc_4B94F1
seg000:004B94D5                 jmp     short loc_4B9513
seg000:004B94D7 ; ---------------------------------------------------------------------------
seg000:004B94D7
seg000:004B94D7 loc_4B94D7:                             ; CODE XREF: WinMain(x,x,x,x)+B0Fj
seg000:004B94D7                 cmp     [ebp+var_2458], 500h    ; --> change this to 690h
seg000:004B94E1                 jz      short loc_4B9509     
seg000:004B94E3                 jmp     short loc_4B9513
[...a few lines below...]
seg000:004B956D                 call    ds:CreateFontA  ; ---> gotcha
Now to use it, regedit to HKEY_CURRENT_USER\Software\Webzen\Mu\Config and set Resolution to 4.

hope you figure it out ;]
Недостаток этого решения в том, что надо ковырять сам майн, а для обычного человека, желающего поигра, это может доставить проблеммы.

Если у кого-то есть более лучшее решение, поделитесь.

P.S. Мне так и не удалось.

P.P.S.
На ОФФ форуме пишут в факе:
Q. Is there any way to force MU to run in widescreen resolution? My notebook native resolution is 1280x800.
A. There is no possibilities to run game in widescreen for now.