Jump to content

Recommended Posts

Posted

Work-in-progress news: CRagEffect::Rain code isolated, it's a 1k chunk of code and porting it asks for a lot of mapping to the target client code, but since it is self-contained, it should be do-able. Do not expect it too soon, though. The plug-in will be a nightmare for sure.

Beret:

I like the source that could bring langtype 12, too.

  • Upvote 1
Posted

Thanks Ai4rei, I appreciate all your work on this as I assume everyone does.

I was wondering if I could add that client close prevention to the todo list?

Posted

Thanks Ai4rei, I appreciate all your work on this as I assume everyone does.

I was wondering if I could add that client close prevention to the todo list?

Maybe next year.

  • Upvote 2
Posted

Random progress.

~ Prevent Client from Closing ~

Disregarding, that I have no idea where to begin, I need some information on the desired behavior.

  • In-game - Exit to Windows
    Assume that should remain as it always was, quit to windows.
  • Char Select - Cancel
    Used to return to the login window, but since there is not any, it quits.
  • Char Select - Connection Reset
    Used to return to the login window, but since there is not any, it quits.
  • Login - Error
    Used to return to the login window, but since there is not any, it quits.
  • Login - Connection Reset
    Used to return to the login window, but since there is not any, it quits.
  • ...
    Anything I missed?

The situation, of course, changes when restore login window is in effect (not quite sure whether there is still enough code to restore the window in 2012 clients).

~ Rain ~

It turned out, that just mapping all functions will not work, as most of the structures grew in the mean time and there's also the compiler change to VC9.

rainwip.png

  • Upvote 2
Posted

1 more....xD

when the account are logged in already....and users still try to login the same account...

the message "this account already logged in" ... but when pressed "OK" the client will quit too....

Posted

Wow Ai4rei! You're doing such an amazing job with all this. I'm actually really excited to see the rain effect brought back because when I began eAthena, the rain effect in clients were no longer working so I was not able to actually experience it first hand :(

Posted

Awesome work !

Just a little Question from my Side,since the people,which are active in this are really experienced in hexing :

Is there a way to increase the Job name Limit inside the Clients Source? I wanted to rename a few Job Names,but sometimes the used letters are too short for my new Job name,is there a way to increase this?

Posted

You can relocate strings to anywhere in the client. The downside (well not particulary with job names, but other strings) is, that you have to update all references to point to the new location. Let's say, you have

MOV DWORD PTR DS:[ECX]' date='00876884 ; ASCII "Novice"[/font']

and put the new name at offset 0x008966aa, then you have to update the assembly to point to that location

MOV DWORD PTR DS:[ECX]' date='008966aa ; ASCII "Bloody Beginner"[/font']

Make sure you pick a place that is really unused. For example, area before the code section 0x400400~0x400FFF or the end of the code section.

  • Upvote 3
Posted

You can relocate strings to anywhere in the client. The downside (well not particulary with job names, but other strings) is, that you have to update all references to point to the new location. Let's say, you have

MOV DWORD PTR DS:[ECX]' date='00876884 ; ASCII "Novice"[/font']

and put the new name at offset 0x008966aa, then you have to update the assembly to point to that location

MOV DWORD PTR DS:[ECX]' date='008966aa ; ASCII "Bloody Beginner"[/font']

Make sure you pick a place that is really unused. For example, area before the code section 0x400400~0x400FFF or the end of the code section.

Is there a way for me to do this with XVI32,too?

Posted

You will have a hard time with just a hex editor, but it's somewhat possible if you can make out the op-codes. You might want to consider getting into OllyDbg or at the very least HIEW (hex editor with basic disassembling capability, it's no longer for free, except the DOS version). And since we are already advertising, I recommend you to use HxD as hex editor.

  • Upvote 2
Posted

~ Prevent Client from Closing ~

Disregarding, that I have no idea where to begin, I need some information on the desired behavior.

  • In-game - Exit to Windows
    Assume that should remain as it always was, quit to windows.
  • Char Select - Cancel
    Used to return to the login window, but since there is not any, it quits.
  • Char Select - Connection Reset
    Used to return to the login window, but since there is not any, it quits.
  • Login - Error
    Used to return to the login window, but since there is not any, it quits.
  • Login - Connection Reset
    Used to return to the login window, but since there is not any, it quits.
  • ...
    Anything I missed?

The in-game exit to windows is totally fine.

As for everything else, I would think returning back to the initial (blank) login-screen would be desired behavior.

If that's not possible at all, you could make it go back to the license accept screen - which would have to be enabled to work but could be used as a last resort.

Posted

Do you have any difffile for 2012-04-10 (Harmony)? Everytime I want to generate a diff, an error coming up: "There has to be exactly 2 Matches!"

I already downloaded your dlls from http://sourceforge.net/projects/atwl/files/WeeDiffGen/

Best regards

@ai4rei & anyone that has pointers :

Is there an issue with 20120409? I'm trying to toggle multi-windows functionality but, as mentioned before, that doesn't work with the diff generator (nobody updated this DLL yet).

If there are newer versions that allows that, it may work as well.

Thanks to anyone that can take a bit of time to reply and/or help me find an answer.

Posted

WDGAllowMultipleWindows is not being updated because Gravity removed the code from newer clients, thus there is nothing to enable.

Latest (atwl) WDGDisableMultipleWindows should work up to at least 2012-07-02a, if not, post the WDG log. For newer clients it inserts the code that was removed by Gravity into the client.

  • Upvote 1
Posted

Thanks, I figured it out: the exes I were using wouldn't get recognized.

I used the ones linked in the topic and it works like a charm!

Many thanks for your hard work.

Posted (edited)

I don't know which is the proper place to post this, but please read this:

http://rathena.org/b...ption-overflow/

It's about the item description window: If an item has a too long description, it causes a buffer overflow, and crashes the client. This happens with official items (1821).

Edited by Antares
Posted

Random progress.

~ Prevent Client from Closing ~

Disregarding, that I have no idea where to begin, I need some information on the desired behavior.

  • In-game - Exit to Windows
    Assume that should remain as it always was, quit to windows.
  • Char Select - Cancel
    Used to return to the login window, but since there is not any, it quits.
  • Char Select - Connection Reset
    Used to return to the login window, but since there is not any, it quits.
  • Login - Error
    Used to return to the login window, but since there is not any, it quits.
  • Login - Connection Reset
    Used to return to the login window, but since there is not any, it quits.
  • ...
    Anything I missed?

Service Select - Cancel

In the service select screen when an user click on cancel button the game should ask to close and it's not happening.

  • 2 weeks later...
Posted

WDGReadDataFolderFirst is patching the wrong offset in newer clients(2012+).

For 2012-04-10, the correct is patch at 0x5a25f2 from 74 18 to 90 90.

Before:


.text:005A25DF                                 loc_5A25DF:                             ; CODE XREF: CFile__OpenEx+8j
.text:005A25DF   80 3D 70 8E 94 00 00                          cmp     g_readDataFolderFirst, 0
.text:005A25E6   53                                            push    ebx
.text:005A25E7   8B 5C 24 0C                                   mov     ebx, [esp+8+fileName]
.text:005A25EB   57                                            push    edi
.text:005A25EC   8B 7C 24 14                                   mov     edi, [esp+0Ch+arg_4]
.text:005A25F0   57                                            push    edi             ; int
.text:005A25F1   53                                            push    ebx             ; NumberOfBytesRead
.text:005A25F2   74 18                                         jz     short loc_PakFirst
.text:005A25F4   E8 D7 EE FF FF                                call    CFile__OpenByFS

After:

.text:005A25DF                                 loc_5A25DF:                             ; CODE XREF: CFile__OpenEx+8j
.text:005A25DF   80 3D 70 8E 94 00 00                          cmp     g_readDataFolderFirst, 0
.text:005A25E6   53                                            push    ebx
.text:005A25E7   8B 5C 24 0C                                   mov     ebx, [esp+8+fileName]
.text:005A25EB   57                                            push    edi
.text:005A25EC   8B 7C 24 14                                   mov     edi, [esp+0Ch+arg_4]
.text:005A25F0   57                                            push    edi             ; int
.text:005A25F1   53                                            push    ebx             ; NumberOfBytesRead
.text:005A25F2   90                                         nop
.text:005A25F3   90                                         nop
.text:005A25F4   E8 D7 EE FF FF                                call    CFile__OpenByFS


Precompiled plugin for 2012 clients:

http://www.mediafire.com/?k5cf9be4av6o6xb

^

This is working? I'm trying to patch it with ShinsDiffPatcher, and, well it crashes everytime.

Posted

This is working? I'm trying to patch it with ShinsDiffPatcher, and, well it crashes everytime.

im crashing too whit this new diff , but i dont got a problem whith my 2012-04-10 exe when i diff read data folder first whith a Old plugin he will use the datafolder.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...