FFXIV Mouse Lag Fix |
||
FFXIV Mouse Lag Fix
Updated for 2010.09.12.2000.
Thanks again Cliff, making this much more fun :D
Ok this is all great when it works and I am happy when it does.
But can someone explain what is the difference between a software mouse and hardware mouse is. I looked in wiki but no luck. Offline
Posts: 2
Software mouse means the mouse movement is dependent on the frame rate of the software. Hardware mouse means the mouse is frame rate independent, meaning the mouse will always move smoothly regardless of the current frame rate of the program the mouse is interacting with.
Bahamut.Magicpierre
Offline
works fine, even with european version.
thanks you cliff Offline
Posts: 5
I've created a mouse patcher that should hopefully work with all FFXIV BETA versions, including future ones.
So far it has been tested on Win7 64-bit with two game versions: 2010.09.12.2000 and the one before that. This patcher will automatically: - Detect your FFXIV directory (you can run it from anywhere) - Create a backup - Attempt to patch You can also specify a path via the command line, see the readme for details. Keep in mind that you will still need to re-patch with each FFXIV update. * * * DOWNLOAD LINK * * * http://www.megaupload.com/?d=D1W0B3Q8 For anyone apprehensive about running a program from an unknown poster, feel free to scan it through VirusTotal.com, isolate it in a virtual machine, or whatever. Hopefully it works well for everyone Enjoy! SHA-1: 46745DA800F15BBC4E9A2B12FF7BDCC91448AD9F nvm on my previous post.
Thanks again Cliff!!! I have the dll in system32 and i even tried putting it right in the file =( anyone else having this problem??? Offline
Posts: 5
Cloudxi,
Thanks for having faith in me :) This program was compiled under Windows 7 using Visual Studio 2010. You may need the VS2010 runtime, which can be downloaded here: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a7b7a05e-6de6-4d3a-a423-37bf0912db84&displaylang=en Hey Sokaroua,
Nice! If you want to make it more accessible to people you can set the C runtime library (CRT) to be compiled into the exe instead of depending on the external DLL. -cliff Offline
Posts: 5
Cliff,
Yeah thanks a ton for the heads up! :) A poster on another forum just pointed that out as well. Sokaroua said: Cloudxi, Thanks for having faith in me :) This program was compiled under Windows 7 using Visual Studio 2010. You may need the VS2010 runtime, which can be downloaded here: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a7b7a05e-6de6-4d3a-a423-37bf0912db84&displaylang=en YES! that fixed it, good job man so far its working 100% I just patched it too and it works well, but i also had to download the VS2010 runtime.
Offline
Posts: 5
Thanks for trying it out guys, glad to hear things are working well for everyone :)
I've created a new version, B2, with minor changes. - Now includes the runtime files by default (thanks Cliff and Stillerbaum!) - Backup file creation routine has been improved If you patched with B1, you're fine, but be sure to use B2 in the future. http://www.megaupload.com/?d=XT7N264L SHA-1: 6016194448B0A369A6A522EDC10CF28EF2028FAC Please report any problems in this thread Offline
Posts: 2
Out of my damn curiosity, how'd you guys manage to find the function anyway?
And out of curiosity, are you always looking for these hexes to change on every patch? Offline
Posts: 5
Well, just for the record, Cliff found it first :) I'm a bit curious myself: it's pretty obvious once you see it, maybe he just changed some arguments and got lucky, but he's probably better than that. I'd appreciate hearing more about this from him, as well.
As for how I did it, I worked backwards from his patches. I compared a patched and unpatched binary and made notes of what was changed. If you open ffxivgame.exe in a debugger, you will see references to debug_hardware_cursor and debug_software_cursor. The patch is simply a modification of a few bytes in this region. My initial attempt at the program searched for a pattern of bytes at a specific location, then made the necessary changes. When SE updated the game though, references/addresses obviously changed and everything broke :( I went back and compared the old game version executable that I still had with the newer one and compared the relevant portion of code. While the patterns I was searching for had changed, the actual sequence of bytes that we want to modify stayed the same. So I searched for these instead, along with some neighboring bytes to make sure that it is a unique match. It's possible that SE could break this patcher, but unlikely, unless they actually change the functions we're interested in. The patcher is designed to handle this, though, and will gracefully abort. I hope this helps to explain things Offline
Posts: 4
I'd venture he patched an initialization value for DirectInput. I did something similar with the XI windower to support VSYNC. However I'd be interested in the technical explanation too ;3
EDIT: Actually, I do hope they didn't use DirectInput for the mouse handling because even Microsoft says it's a bad idea... Quote: DirectInput is a set of API calls that abstracts input devices on the system. Internally, DirectInput creates a second thread to read WM_INPUT data, and using the DirectInput APIs will add more overhead than simply reading WM_INPUT directly. DirectInput is only useful for reading data from DirectInput joysticks; however, if you only need to support the Xbox 360 controller for Windows, then use XInput instead. Overall, using DirectInput offers no advantages when reading data from mouse or keyboard devices, and the use of DirectInput in these scenarios is discouraged. Offline
Posts: 2
@above
What disassembler did you use so you could trace out the APIs? By the way, Sokaroua's patcher seems just fine, so I won't be updating mine anymore and you should probably be using his.
When I have some spare time I'll post about what I did, but it wasn't anything fancy. I've done a lot of reverse engineering and after a while you just sort of get a feel for finding important sections of code. -cliff Offline
Posts: 2
Did they fix the mouse lag issue in retail?
They added a hardware mouse option in config, yeah.
When I was using Cliff's fix, I could leave the cursor over the chatlog and it would stay opaque (for easy reading) until the mouse moved. With SE's config hardware mouse, though, if I hit ESC or any key really, the chatlog returns to transparency. I am sad. Caitsith.Pangtong said: They added a hardware mouse option in config, yeah. When I was using Cliff's fix, I could leave the cursor over the chatlog and it would stay opaque (for easy reading) until the mouse moved. With SE's config hardware mouse, though, if I hit ESC or any key really, the chatlog returns to transparency. I am sad. That's my biggest issue right now, I want to be able to put some colour on the chat screen, it's hard as hell to read it as it is now. Fenrir.Mashuga
Offline
Piece of crap just keeps crashing on me.
14, I mean. Hardware option in config works fine when the game manages to get passed login.
Necro Bump Detected!
[35 days between previous and next post]
Is there a chance to see this mouse patch applied to the version: 2010.10.26.0000 ? I tried the one on the first post and the game crashes after login...!
And what about Windower FFXIV ? The site has been closed, and no download is available, is there any link ? Thx! Hardware mouse is in the real game now, no need to patch.
You can enable from the FFXIV Config program. I read on some other forum that you can AutoHotKey to make a macro to do a psuedo-fullscreen mode that you can alt-tab out of but can't remember where I saw it, is that what you want to achieve with a windower? Luckily almost all the windower plugins for xi seem to be unnecessary in 14 anyway. Spellcast -> can't gear change in combat, not needed.. maybe shortened commands might be nice though. Logger -> XIV automatically logs all chat and messages into My Documents. Recast timers -> shown on main ability bar Distance -> might be useful, but to be honest I have more with "not facing target" than "target out of range". Status timers -> status effects are much shorter and also start to flash with increasing speed depending no how close to wearing, so i'd think that was redundant. Tinyurl.com/ffxivwindower
Its a Ffxivcore thread that shows you how to do it, it's not a "hack" or tps it just removes borders for your screen, you'd still be in windowed mode. So you'd still have same frames per second. Not advertising, just if anyone was looking for it, making it easier |
||
All FFXI content and images © 2002-2024 SQUARE ENIX CO., LTD. FINAL
FANTASY is a registered trademark of Square Enix Co., Ltd.
|