New version (2018.6.10): (for client exe that contains string "dinput8.dll")
http://www.mediafire.com/?6owbo33tz6t4ks6 (http://www.mediafire.com/?6owbo33tz6t4ks6)
You can also get it from attachment to this post.
Updated version for new Renewal client.
- Improved client internationalization (CodePage = 65001).
- Removed features that aren't required anymore (like mouse freedom).
- Removed parsing options from command line.
- More control over CPU throttling.
Old version (2010.2.17): (for client exe that contains string "dinput.dll")
http://www.mediafire.com/?ymfjigxmwyz (http://www.mediafire.com/?ymfjigxmwyz)
You can also get it from attachment to this post.
Features outline1) Mouse freedom - in window mode you can freely move mouse cursor out of RO.
2) RO window can be set to any size and to be borderless or always on top.
3) Key remapping - 4 extra direct keys for skills, access for all 3 skill sets without /bm and ability to use skills from 3-5'th mouse buttons.
4) CPU usage reducing features - for better multiclient performance.
5) Overriding used codepage - allow client to be truly international and support all languages.
InstallationWindows NT (2000/XP/2003/Vista/2008/7/2008R2) is required, will not work on Windows 9x.
Close all RO clients, copy dinput.dll and dinput.ini to your RO folder, overwrite if files are already present.
UninstallationClose all RO clients, delete dinput.dll and dinput.ini from your RO folder.
How to distinguish ROExt from other mouse freedom plugins (dinput.dll)
ROExt is very small (current version is 10k), in file properties you can see its version and copyright field is 'Ruri'.
Features description1) Mouse freedomROExt implements complete DirectInput emulation for Ragnarok instead of hacking into it like other mouse freedom plugins do. This results in much better stability and performance.
Enabled by default, can be disabled by '-mf' command line option.
2) RO window sizeROExt can change Ragnarok window (in window mode) to any size you want, make it be always on top and remove the title so it has more useful space and can't be accidently dragged.
Syntax:
-w[t][l]X,Y,WIDTH,HEIGHT
t - always on top.
l - lock the window and remove the title, by default maximizes window size to cover all screen except task bar.
X,Y - position of top-left window corner.
WIDTH,HEIGHT - size of the window.
Example, make window borderless and cover all screen except task bar:
C:\Games\Ragnarok\ragexe.exe -wl
Example, change window size to be 800x600 starting at left-top screen corner and make it always on top:
C:\Games\Ragnarok\ragexe.exe -wt0,0,800,600
3) Key remappingEnabled/disabled by '-key' command line option, for classic (not Renewal) client only:
Break, F10-F12 work as F6-F9 of next skill set
Ctrl and Alt switch current skill set 1 and 2 forward when pressed and back when released
F12 moved to Shift+Esc
F10/F11 moved to Alt+Insert/Delete
Enabled/disabled by '-mb' command line option, requires mouse freedom:
Middle and two extended mouse buttons work as F3-F5 of next skill set when '-key' remapping is active and as F24-F22 otherwise.
Enabled/disabled by '-altf4' command line option:
Closing RO is moved from Alt+F4 to Alt+PrintScreen, so Alt+F4 can be used as regular key.
Work always:
Ctrl+W minimizes RO window.
ScrollLock is disabled and doesn't take screenshots (PrintScreen still does).
4) CPU usage reducingThere are two modes of CPU usage reducing:
a) Light - activated by turning on ScrollLock, affects all working clients simultaneously, only for Windows 2000/XP/2003.
b) Heavy - can be manually toggled on/off by Ctrl+S or automatically. Automatic mode (which is enabled/disabled by '-cpu' command line option) turns on when RO window is inactive.
5) Codepage overrideUsed codepage can be changed by -cpCODEPAGE command line option, -1 for no override.
Can be set to 65001 (UTF-8 Unicode), so all languages are supported at the same time.
Example:
C:\Games\Ragnarok\ragexe.exe -cp65001
NotesCompatibility: ROExt doesn't modify any part or RO client (even in memory) so it should work with all clients, even with packed/protected.
All options defaults can be changed in dinput.ini file. Command line options inverse on/off switches and override numerical defaults.
For best multiclient performance it's recommended to set all background RO clients into Ctrl+S mode (or just enable automatic CPU usage reducing) and turn on ScrollLock.
How to specify command line optionsCommand line options can be specified in the 'Target' field of shortcut for Ragexe.exe. They will not work if you put them in shortcut for Ragnarok.exe.
Damn, I love this. It works so well, I can now even use WMP, MSN, 3 RO clients...and I don't have to end any Processes to keep my RAM free. xD Nice!
Quote from: Anakha on Sep 23, 2008, 12:31 PM
Damn, I love this. It works so well, I can now even use WMP, MSN, 3 RO clients...and I don't have to end any Processes to keep my RAM free. xD Nice!
*cough*
xD anyway i'll download it and check it out....
but honestly i prefer not having mouse freedom x3
Thanks for sharing. :) This might come in handy.
disabling the re-mapping of keys wont work. someone help please. i don't want this because i dont find it useful to hold Alt and Ctrl then having to REACH for miles across my keyboard to hit the F keys, and the mouse clicking is not a feasable or efficient option.
You need to specify -nk as option in command line of ragexe.exe/sakexe.exe, not in the patcher's command line.
Quote from: Ruri on Oct 19, 2008, 05:11 AM
You need to specify -nk as option in command line of ragexe.exe/sakexe.exe, not in the patcher's command line.
thats part of my problem, i can't click ragexe.exe to run my game. all i get is error. theonly way to run ragnarok is through the shortcut / patcher.exe i made shortcuts for ragexe.exe etc but all i get is error trying to use both the shortcut and the exe itself. i need more specifics.
Usually patcher starts ragexe.exe/sakexe.exe with some options, without them it won't start. You can use ProcessExplorer to view these options when the game is running.
im at a completely loss for what your saying at this point. i will just remove it. it was nice while it lasted but the shortcut remapping is just unwanted for me. thanks
weh ...
cool. i might use it for my server. Im still using the old version of MouseFreedom for my client >.>
Thanks
Very nice tweak! Just a suggestion if you plan to write the next version: key mapping really needs some customization method or selective removal (like -nk, but for each remap you put in). Maybe you could make it read off a text file so others can change it to their liking, or something. I kinda don't like any of the remaps except for the Ctrl + Alt hotkey switcher (cool + doesn't affect /bm).
For now I will use -nk. The mouse freedom + default resize is just too awesome to remove ;). I probably will give the CPU tweak a try, but I have a Laptop to multi-client slave chars anyway so it's not quite needed.
Major update. You can change default settings in ini file and inverse them from command line.
Main addition is full unicode (UTF-8) support hack for the client that allows using all languages at the same time and require no additional support from server. For it to work consistently all clients on server should use this hack (or they are going to see strange symbols instead of non-english letters).
UTF-8 works perfectly everywhere in game (chat, vending titles, log,...) but note that since non-english characters require longer internal encoding they use up text limits faster and can cause line breaks earlier.
Nice add-on.
Thanks. If you can, please post on how to directly enable/disable/edit step-by-step.
Thanks again.
Ta-Da,
Loki
*Registered just to reply here xD*
Could you add settings for X, Y Position and Height, Weight to the ini too?
Settings in ini file can be edited with any text editor (like notepad.exe). '= 0' means disabled and '= 1' means enabled. This and some short comments about each option you can read in the file itself. What you set in ini is considered default and used if you add nothing to rag/sakexe.exe command line. By adding command line options you can inverse your defaults and run several clients with different settings without re-editing ini each time.
I thought that X,Y,W,H are not very useful in ini: as default setting (that are in ini) you are probably going to use either full screen without taskbar or regular RO windows. If you want to precisely place each of several clients in their places - you need to specify different X,Y,W,H for each client and so have to use command line method.
This is amazing. Thank you for completely changing my RO experience.
However... it seems incompatible with the official Korean clients (at least Sakexe.exe and RagexeRE.exe). Having CodePage on crashes it before it even opens, WindowLock doesn't do anything and MouseFreedom is bugged, hugging the left side of the window. The other options probably don't work at all.
I don't think I have ever tried to use ROext with them, but I'm not sure.
Does it work the same way for other official clients?
There is a bug in it that causes the skill bar to flip between the three out of no where.
It's happened to me when I warp to a map, sometimes when I afk and alt+tab out.
This only happens when you disable the alt & ctrl switching function.
i know this is kind of random, seeing a user with only 1 post so far just to post here but....
I have to say that without a doubt, ROext is the best thing to ever happen to ragnarok online. I mean, this is the ONLY mousefreedom out there that is compatible with 64 bit vista, so i dont have to worry about getting an Error randomly while playing..
Now onto the important thinggg..
As of patch 5/18/09 this mousefreedom has become incompatible with all of my iRO clients :C. My mouse cursor just hugs the left side of the window and i cant do anything about it..
Please release an update to fix it to work with iro!! i beg you and so do all the 64 bit vista users (theres alot of us) :C
Update:
1) Default window size and position can be set in ini.
2) Fixed crash with custom fonts and codepage override.
3) Fixed incompatibility with new official clients.
Alright, so. I've been using ROExt for some time now. I was on Vista, and have since switched to Windows 7.
I don't know if this is Windows 7-only or if affects Vista users, too; most things that are broken on one are broken on the other, since Win7 is basically just a rethinking of Vista. However... I like to keep my taskbar on top, rather than on the bottom of my screen. This wasn't a problem until this newest update; it defaults to a positioning as if my taskbar remained on the bottom. I can quickly and easily fix this for all open windows by moving my taskbar and then moving it back; however, if I should need to open another client, I have to do this again, every time.
I tried using the window position settings, both in the ini and and with the command line option. Neither appears to have any affect.
Any thoughts?
Update:
Fixed regression with positioning relative to taskbar.
Sounds interesting, i'll check it out later.
THANK YOU SO MUCH THIS PROGRAM HELPS OUT SO MUCH YOU HAVE NO IDEA!!! XD
You have no idea how cool it is to post a bug and have it fixed the next day.
Thank you!
Thanks a lot ;D
Only problem is alt+f4 doesnt work :-[
I think it's alt+PrtSc.
Now it's working with SakRE again!
Thanks.
I forgot to try this, but i'll do it soon, I promise.
Any1 got a mirror ? The link does not work for me.
Note on the alt+f4 thing, I read the post and if you use a shortcut for your ro on your desktop, then all you have to do to enable alt+f4 and the old buttons, is to right click the shortcut and put -nk in the target field, just put it one space behind the last thing in the target field.
Then use the shortcut to play, and alt+f4 works.
Muad_Dib, it's also attached as file to the first post.
SilverStream~, to enable/disable any customizations you can use command line or edit dinput.ini whatever you prefer.
Suggestion:
Make the key remapping settings in parts.
In other words, seperate the F Key Part, the CTRL/ALT part, and the mouse parts.
I'd like to use some, but not all.
hello i'm a total newbie about those things and found out your program because kaspersky see the old mousefreedom as a trojan so here i am!
my only problem is that mouse freedom to me it's useful if i can play in windows mode 800x600 or so and even tough you posted the code i dunno how to use it to reduce the ragnarok window to 800x600
could you post how to do it if possible with screens *_* don't forget you're talking with a total newbie when it comes to coding and so on.
thanks in advance
edit: thanks to a friend now it's in windows mode but there is another problem if you could fix it that every client you open will be placed on the old one if it's could could you fix it so that you can move the clients windoes trough your mouse? would be perfect :D
Update:
Fixed hang when ctrl and alt simultaneously released in keyboard remap mode. Thanks to ultramage for reporting.
Kari, I might make remapping separable if there will be more demand for it.
Mei89, disable WindowLock if you want to move the window.
neat. :D Gotta update the dinput.dll in my client files :P Thanks for sharing! Hope this fix the bug that occur when you open another app that is in fullscreen.
Still hangs on different skill bars, most often the third. It's like holding down the ALT button without doing it :)
It's not a hang - you can switch skill sets manually and everything else works fine. To avoid selecting wrong skill set don't press or release ctrl/alt during loading screens.
Thank you for this. It's really helpful. ;)
Ruri a great job, I never imagined that just a simple dll could improve both the performance, not a game like ragnarok ..
My question is: is there any way that I can customize my own buttons? If so how I do it?
In addition to these changes already made by you which more are possible using the dll's? how can I learn to do things like that?
@edit
Quote...
There is automatic mode and two manual modes of CPU usage reducing:
a) Light - activated by turning on ScrollLock.
b) Heavy - can be toggled on/off by Ctrl+S.
...
In the examples cited above, if I open the game with the scroll on the way light is turned on or only when, if I turn off the scroll?
And in the case of crt + s, if the last time I used to let you on / off, I turn on / off the next time you enter the game?
Grateful now.
Sorry for my bad English.
Just to note:
For some people, it causes the client to take up more resources, for others it doesn't.
For some it runs smoother, for some it lags more.
Hans, It's possible to remap anything to anything, but customizable remapping would be slower than hardcoded ones like used now. If you want to learn how to write such things yourself i recommend studying C, Assembler, WinApi and DirectX.
ScrollLock is keyboard state, so it has no relation to what you do within RO, it was made this way to affect all running RO clients simultaneously. Ctrl+S is RO instance state that starts as 'off' when you start RO (you can easily see it's on by reduced in-game fps).
Zone, RoExt definitely can make RO use less resources or has no effect at all, but i never saw a situation when it makes RO lag more than clean client.
Thank you for your attention Ruri, you clarified all my doubts.
About examine ways of programming, I will leave for the future, it seems very complex.
Sorry for my bad English.
Quote from: Kari on Jul 01, 2009, 05:18 AM
Suggestion:
Make the key remapping settings in parts.
In other words, seperate the F Key Part, the CTRL/ALT part, and the mouse parts.
I'd like to use some, but not all.
I support Kari's request! First of all, thank you so much for creating ROExt, you have no idea how long I've been waiting something like the windowlock option to magically appear. I'm extremely happy! As for the key remapping, I like the idea of CTRL/ALT but the other parts give me the same problem that Zone mentioned earlier in the thread. When I warp (using the warp npc, @warp, or @go) my skill bar randomly switches from 1, 2, or, 3 and of course f12 no longers fixes it. I have to warp back and forth from town to dungeon until I get the right bar. I then resorted to putting the same skills on all three bars to avoid it all together. But that was before I knew it was ROext that was causing it (it came preinstalled with a previous server unbeknownst to me). I could turn it off, but I will miss the CTRL/ALT option. Is there a possible fix for this? Thanks :)
Quote from: Ruri on Oct 12, 2009, 02:57 PM
Hans, It's possible to remap anything to anything, but customizable remapping would be slower than hardcoded ones like used now. If you want to learn how to write such things yourself i recommend studying C, Assembler, WinApi and DirectX.
ScrollLock is keyboard state, so it has no relation to what you do within RO, it was made this way to affect all running RO clients simultaneously. Ctrl+S is RO instance state that starts as 'off' when you start RO (you can easily see it's on by reduced in-game fps).
Zone, RoExt definitely can make RO use less resources or has no effect at all, but i never saw a situation when it makes RO lag more than clean client.
Ruri, I believe the lag is cause by the mouse freedom(Not only ROExt, others mousefreedom too). That's what happen on 2 of my computers.
Hi greetings from Argentine, so I have this problem :
when i install the ro renewal, this roext doesn`t work anymore.
Can anybody help?, Thanks and forgive my english,see ya
Saw that this isn't working like it should under Vista/Win7. I guess it has to do with ThreadPriority? If you want I could rewrite that for you. If your interested, pm me a url to download the source from or something. I'm currently running Windows 7 myself.
Almost forgot, thanks for a great "add-on"! Works like it should under XP ;)
I just registered to say thanks
FROM THE BOTTOM OF MY HEART :)
cinder, it works for me with renewal client, don't know about the latest though.
argp, it works as intended on Vista/Win7, i'm not interested in them and it's not a trivial thing like ThreadPriority.
Just wanted to pass on my gratitude for this fantastic plugin. I've used it for some time now, and highly recommend it.
;) Very good tools! thx for sharing ;D
I will forever be thankful to you for this. It's simply the best thing I've ever seen in RO. Thank you.
By the way... you mistyped the url in your post - it definitely isn't http://http://www.mediafire.com/?xhyswwctcnn .
Upadte:
Renewal client support for binding skills to 3-5'th mouse buttons.
Heavy CPU usage reducing mode now works on Windows Vista/2008/7/2008R2.
More options in dinput.ini.
Hi can i see some screenshots?
on some features of this amazing tool?
Features outline
1) Mouse freedom - in window mode you can freely move mouse cursor out of RO.
2) RO window can be set to any size and to be borderless or always on top.
3) Key remapping - 4 extra direct keys for skills, access for all 3 skill sets without /bm and ability to use skills from 3-5'th mouse buttons.
4) CPU usage reducing features - for better multiclient performance.
5) Overriding used codepage - allow client to be truly international and support all languages.
like Keymapping.. i am really newbie about this<<<< and i dnt know what do you mean by keymapping is it like autoclickeR?>
Nice work Ruri, glad to see you have used some of my suggestions. :3 Just came back to check after quitting and returning to RO. 14k+ views on this topic! Grats~
Lampz, Key remapping is not autoclicking. It simply makes one key do something that another key (or combination of) was supposed to do. It's like swapping them around, or something like that. Screenshots can't show how amazing this extension is. Just try it yourself. :)
Lampz, i'm not sure what you want to see on screenshots - RoExt draws nothing on screen, only changes how RO client behaves in some situations.
As Procabiak said, key remapping is not like autoclicking - it's like moving keys around. For example if you enable mouse buttons remapping for renewal client, when you press middle mouse button RO client will think you pressed F24 on your keyboard instead. It allows you to bind some skill there as you can customize hotkeys in renewal client, but it understands only keyboard keys not mouse buttons.
oh..
so its like this??
my f1 to f3 skills..
my f1 skills is zEN
my f2 skills is explosion
my f3 skills is asura
and when i use this tool
when i HIT the mouse left click.. i can choose whether its f1-f3?
like f1 zen f2 explosion then
then MOUSE CLICK is automatically f3?
like for faster asura? f1-f2 mouse click asura ?
please correct me..
I suggest you to actually use it in game and switch different options on/off - this way you'll probably understand what is going on much faster.
This is absolutly wonderful, so glad i came across this! cheers!
Hello :)
I noticed a little problem with RoEXT : it fails to acknowledge left-handed mouses :)
( i.e., my mouse buttons are inverted and I use it on the left side of the desk )
As a result, it assigns right-click to both mouse buttons, which makes the game difficult to play to say the least. :D
Disabling mouse freedom correct this - but then I loose lots of interesting functionalities.
Could it be possible to add a switch in the config file for RoEXT to take inverted mouses into account ?
Thanks.
This is what I need... Thanks for posting this things!!! I love it xD
Hello and thank you for this file, it really made my days back then. :)
However, since I've switched to Windows 7, I can't seem to make it work properly.
Ex: "C:\Program Files\RO\ragexe.exe" -w100,100,1024,768 -altf4
The window covers my screen except the task bar and it still requires me to do alt+printscreen to close the window.
It worked when I was using it on XP, so I don't know what could be the problem. Any help would be appreciated.
Upadte:
Left-handed mouse support.
Corrected case-insensitivity for -altf4 command line option.
Aaah many thanks ! ** kiss you ** (http://mathomstore.free.fr/Emotes/icon_biggrin.gif)
Any chance you could make ctrl+w minimize behavior optional rather than always on?
Getting in the way of keybinds set to qwer :\
thanks
Thanks a bunch Ruri for making this.
Hopefully you'll find to keep it updated into the future !!
I hope you could still fix this, Ruri..
I started using ROext and there was no problem until a few update to the server has been made. It seems to have auto-sit and auto-minimize bugs. I replaced my old ROext with the new one, and nothing has changed. I tried debugging the dinput.ini by changing the value 0 and 1, and I found out the problem is at MouseFreedom (if its value is 0 then nothing wrong, except the mouse freedom).
auto-sit : whenever I use skills and click it with mouse quickly (ex: healing, holy-cross), the character sit automatically
auto-minimize : same situation with the auto-sit, but RO windows just disappear and shows my desktop, the status of the client is in active condition (not minimize) but i need to click on the tasbar to show my Ro windows again
Idk if it just happen to me, but I would be very grateful if you can fix this. I'm using windows 7 64-bit though..
nice extension /no1
i like it very much. thx ;)
how can i use this? i just dl'ed it and idk how to use the ro window size syntax /swt
Open the ini and it's all there, easier then go with that if you don't know how to use the syntax way.
On the off chance author or someone more versed in winapi, dinput and disassembling than me is reading this, would it be possible to make a version compatible with 2015 client? You can test it on http://novaragnarok.com/ (http://novaragnarok.com/). Or maybe someone know similar program kRO players use? I'm most interested in borderless fullscreen mode. AHK solutions seem to have issues with window stretching or resizing.
Updated for new Renewal client.
Wow welcome back and thanks.
how to enable with gepard? gepard is deleting dinput8.dll
nvm i did it myself haha