-
Content Count
713 -
Joined
-
Last visited
-
Days Won
37
Posts posted by Neo-Mind
-
-
-
Ragnarok Online Launcher eXecutable (R.O.L.eX)
Info:
I started learning C# + .net and I thought why not create a client launcher and "kill 2 birds with 1 stoneand here is the result.I chose the name cuz well who doesn't like rolexes
Screenshots:
Default Look
With BG
Features:
1) Configurable Window Title & Background (I am also planning to make buttons also configurable in future)2) Settings button - invokes setup.exe (the file name is configurable within the ini file)3) Register button - you can specify the website for registration in the ini file4) Once you press Login Button (or press Enter) the Launcher minimizes to the backgroundand rises back if the Client gets closed (Useful especially when you press cancel button during initial screens)5) Starts updater before you log in to ensure RO folder is updated (can be turned off from ini file). Filename of the updater as well asMinimum No of days (default is 1) before next update can also be specified. - Credits to Shakto for the ideaDownload Link:
http://www.mediafire.com/?7l4sq249k3zo4zo
EDIT:
Second version built for .NET 2.0 using WinForms - aka "Lazy Version"(I still believe its far better to go for .NET 4.0 - you can include the installer for .NET along with your client installer when you provide it to players).
Screenshots:
Default Look:
With BG Image:Download Link:
https://www.dropbox.com/s/dmhsqa5gp6adiwv/R.O.L.eX_LQ.zip
Let me know if you have any suggestions or face any issues with either version (Flicker appearing in the LQ version cannot be avoided).
EDIT 2:
Planned Updates:
1) Skinnable Buttons & Customizable Button Locations.
2) Editable Names for Buttons + Labels.
3) Inbuilt Official & Private GRF Patcher.EDIT 3:
Discontinued Further Updates since many are too lazy to get .NET 4 or their OS don't support it.
-
@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.
-
@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.
-
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.
-
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;}
-
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?
-
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:|
-
try using V as a format string to pack
Why is it not generating diff file for me .
-
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.
-
ok this is funny.
To find out which npc is causing the issue i commented every thing in scripts.conf and the server was able to start. then i uncommented section by section and finally found that nothing needed to be removed .... server is working again
-
While rAthena/Herc run on 256MB of RAM or less being idle, Aegis usually consumes 2-3x that being idle.
2-3x .. that is just sad
-
interesting rathena is back and the first thing i do is provide the wrong password three times --- locked out for an hour derp .
save all the stuff you want in case it goes back to maintenance mode again
-
you have enabled Read Msgstringtable.txt diff right? What did you change them to
-
ok cool so is there any patch left over that needs to be added
-
did you test them out in a client ? If its ok then go ahead.
I am at office right now, need to get home first before i can test them.
-
its not a missing file issue. your shadowtable.lua has some error in line 15. it is referring to a nil value as the key to a table.
-
-
oh i thought the condition automatically takes it as true if it contains any normal value other than false. OK i will change that.
@Enko
Pros
------1) Easier to make changes compared to WeeDiff (Higher level of abstraction and we don't need to take care of any memory management)
2) Easy to adapt to any mods in client (like what happened with themida unpacking).
Cons (Well not exactly cons but still)
-------
1) If you want to generate diffs then you need to have php installed (not required for patcher).
2) All the code is open which means you can't have any hidden code for your own patch.
-
Zill might have given permission but it looks like hercules has yet to give permission
nice release
-
hmm then that cant be the reason in our case. but it looks like it is being caused by an npc because the crash is occuring when the OnInit event is triggered.
-
SlashGeeGee can you tell us which npc was causing the issue.
-
hmm looks like they had some syntax issues. I have updated the patches archive. Yommy i want to make sure they are ok before we add them to the repository.
Right now i am facing one issue - the shared palette diffs are not adding anything in the <changes> tag but there are no errors either. I am adding replace codes in multiple locations. Any idea why it is happening.
-
I have made a few patches for xDiffGen - Didn't get a chance to test them out yet , I just replicated the logic used in the WeeDiffPatcher into php so they should work ideally.
http://www.mediafire.com/?rz809o783y0y9ga
Patches included in the file:
Only First Login Background
Only Second Login Background (this is in same group as first)
Remove Serial Display
Shared Body Palettes (there are two versions which you can select from in the group - gender included and excluded versions)
Shared Head Palettes (similar to body there are two versions)
Enable Custom 3D Bones
Let me know if you find any problems with them.
BTW are there any other patches left missing in xDiffGen present in WeeDiff other than these
R.O.L.eX
in Client-Side Releases
Posted · Edited by MStream
ya actually i have been thinking of combining it with a client patcher. But i need to know how the current patchers work first