Jump to content
Shakto

xDiffPatcher, xDiffGen2, Packet Parser and Packet Extractor

Recommended Posts

Yup thanks i just retrieved it on rathena few mins ago too xd

 

I ll release this patch tomorrow

Edited by Shakto

Share this post


Link to post
Share on other sites

interesting rathena is back and the first thing i do is provide the wrong password three times --- locked out for an hour derp  :lol: .

save all the stuff you want in case it goes back to maintenance mode again :D

Share this post


Link to post
Share on other sites

interesting rathena is back and the first thing i do is provide the wrong password three times --- locked out for an hour derp  :lol: .

save all the stuff you want in case it goes back to maintenance mode again :D

 

 

MStream, update your xdiffgen2 repo and check your palette diff, i corrected the syntax error but it show now an other error. I let you check that :P

I'll look at this now

 

I added the allow space in guild name patch, i'll release the new diff today

Edited by Shakto

Share this post


Link to post
Share on other sites

i think there is an encoding issue because the ascii strings have been treated as UTF8.

$offset = $exe->str("¸Ó¸®¸Ó¸®%s%s_%d.pal","raw");
has gotten converted to
$offset = $exe->str("¸Ó¸®¸Ó¸®%s%s_%d.pal","raw");

similarly for other strings can you comment this one and use the alternate search pattern i have provided using hex values. that should fix the error

 

But the diffgen is still not generating any changes for them which is weird. :|

 

EDIT: Oops looks like the encoding issue was my fault . Apparently notepad++ put the file as UTF8 encoded heh.

Edited by MStream

Share this post


Link to post
Share on other sites

Ok Yommy found the bug :)

 

It's working now with :

 

 

 

$byte = $exe->read($offset,1, "c"); 
Edited by Shakto

Share this post


Link to post
Share on other sites

try using V as a format string to pack

Why is it not generating diff file for me :(.

Share this post


Link to post
Share on other sites

try using V as a format string to pack

Why is it not generating diff file for me :(.

 

You forgot the return true in your Nullify function

 

if ($byte >= 0x50 && $byte <= 0x57){
$exe->replace($offset, array(0=>"x90"));
return true;
}
 
And you forgot the return true at this end of the function :D
 
Edit ; Update your files, it has been comit :)
Edited by Shakto

Share this post


Link to post
Share on other sites

lol why do i always forget to return true!!!!

 

EDIT: but still what about the shared head palette there there is a simple string replace but the function is getting called only once for me so its not running the code below new xPatch:|

Edited by MStream

Share this post


Link to post
Share on other sites

Ok i figured out that the ($exe == true) part becomes true even when $exe is RObin object (which it shouldn't)

Wonder why it is ok for the other patches .... Any idea how to  prevent that?

Share this post


Link to post
Share on other sites

thx yommy thats what was missing .

now i feel like =.=

Anyways for body palette it looks like Nullify function required a slight mod =>

 

 

function Nullify($exe, $offset, $stage){	$byte = $exe->read($offset,1);	if ($byte >= "x50" && $byte <= "x57")		$exe->replace($offset, array(0=>"x90"));	else	{		echo "Failed at Part ".$stage;		return false;	}	return true;}
Edited by MStream

Share this post


Link to post
Share on other sites

We can go the old way.. Putting all the generated diffs into pre-made diff files so the users only get the patcher and done..(? Like the old way

 

Also.. Can you repair the go back to login screen from the char selection cancel button? I really want that.. Everyone hates that auto-closing -.-

Share this post


Link to post
Share on other sites

Well to answer your questions

 

1) About the patcher - I was thinking of creating a patcher using Yommy's Diffgen in the background such that you only need to supply the client and everything else will be generated automatically and applied (like you said).

 

2) About auto-closing : There is only 1 problem we are not using old login screen anymore we are using launchers.

One possible mechanism would be for the launcher to start the client then go to background and if the client gets closed off the launcher returns to normal so you can just press login again.

Edited by MStream

Share this post


Link to post
Share on other sites

hello guys, is this possible

 

Modify the "Remove Hourly Announce" diff to allow it to accept strings

 

ex: allow it to modify to hourly advertise your server or announce something

Share this post


Link to post
Share on other sites

Awesome tool!!!

 

OFFTOPIC:

 


2) About auto-closing : There is only 1 problem we are not using old login screen anymore we are using launchers.
One possible mechanism would be for the launcher to start the client then go to background and if the client gets closed off the launcher returns to normal so you can just press login again.

 

Get the process exit code and check. We should need if the wrong login exit code is different from the one from exit in normal way (shuld be different):

 

using System.Diagnostics;ProcessStartInfo start = new ProcessStartInfo();// Enter in the command line arguments, everything you would enter after the executable name itselfstart.Arguments = arguments; start.FileName = "RagexeRE.exe";// Run the external process & wait for it to finishusing (Process proc = Process.Start(start)){     proc.WaitForExit();     // Retrieve the app's exit code     exitCode = proc.ExitCode;     if(exitCode == 0)          Application.Exit();}
Edited by Vali

Share this post


Link to post
Share on other sites

This will doesn't support the auto-close? Can you make that patch? At least for 2012-04-10 Ragexe.. It's the almost stable client..

 

With this patch it will only need an AI Interface

Share this post


Link to post
Share on other sites

@M45T3R I think he was talking about the launcher not the client itself

 

@Vali thanks for the info. I will add the code to my launcher.

Share this post


Link to post
Share on other sites

Yeah.. MStream.. Can you or someone make an Hex string to solve that problem on 2012-04-10? It's the best stable client and with that it will be even more stable.. (When you're in the char selection screen hit cancel and the client will ask you if you want to exit.. That's not correct, when you click it it must go back into the login screen)

Share this post


Link to post
Share on other sites

@M45T3R I think he was talking about the launcher not the client itself

 

@Vali thanks for the info. I will add the code to my launcher.

@M45T3R Yes, is for the client launcher.

 

@MStream If you need some help (That I don't think so), send me a PM. :)

Share this post


Link to post
Share on other sites

@Vali checking for 0 isn't working. It looks they didnt code the client to send any errorcodes. Only time it isn't zero is when i kill the client through task manager. Anyways ill just code the launcher to return back whenever client gets closed.

Share this post


Link to post
Share on other sites

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.   Restore formatting

  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.

Loading...

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.