|
FFXIV Mouse Lag Fix
By Cliff 2010-09-12 14:47:14
Updated for 2010.09.12.2000.
By Flionheart 2010-09-12 14:51:29
Thanks again Cliff, making this much more fun :D
Alexander.Ewitt
Server: Alexander
Game: FFXI
Posts: 27
By Alexander.Ewitt 2010-09-12 18:26:49
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.
By landowner 2010-09-12 19:05:57
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.
Server: Bahamut
Game: FFXI
Posts: 1
By Bahamut.Magicpierre 2010-09-12 19:08:40
works fine, even with european version.
thanks you cliff
By Sokaroua 2010-09-13 06:37:31
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
Server: Remora
Game: FFXI
Posts: 61
By Remora.Eireamhon 2010-09-13 08:21:16
nvm on my previous post.
Thanks again Cliff!!!
Valefor.Cloudxi
Server: Valefor
Game: FFXI
Posts: 139
By Valefor.Cloudxi 2010-09-13 09:54:47
I have the dll in system32 and i even tried putting it right in the file =( anyone else having this problem???
By Sokaroua 2010-09-13 11:12:24
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
By Cliff 2010-09-13 11:43:16
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
[+]
By Sokaroua 2010-09-13 11:49:32
Cliff,
Yeah thanks a ton for the heads up! :) A poster on another forum just pointed that out as well.
Valefor.Cloudxi
Server: Valefor
Game: FFXI
Posts: 139
By Valefor.Cloudxi 2010-09-13 12:22:09
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%
Server: Fairy
Game: FFXI
Posts: 87
By Fairy.Victoire 2010-09-13 12:32:39
I just patched it too and it works well, but i also had to download the VS2010 runtime.
By Sokaroua 2010-09-13 13:51:58
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
By amiere 2010-09-13 13:56:34
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?
By Sokaroua 2010-09-13 14:24:47
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
By Goheh 2010-09-18 11:10:58
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.
[+]
By amiere 2010-09-21 02:03:37
@above
What disassembler did you use so you could trace out the APIs?
By Cliff 2010-09-21 15:53:47
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
[+]
By voltron1 2010-09-25 16:14:47
Did they fix the mouse lag issue in retail?
Caitsith.Pangtong
Server: Caitsith
Game: FFXI
Posts: 3
By Caitsith.Pangtong 2010-09-26 05:48:01
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.
Server: Leviathan
Game: FFXI
Posts: 18930
By Leviathan.Catnipthief 2010-09-26 06:31:34
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
Server: Fenrir
Game: FFXI
Posts: 8
By Fenrir.Mashuga 2010-09-26 11:23:48
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]
Ragnarok.Croex
Server: Ragnarok
Game: FFXI
Posts: 13
By Ragnarok.Croex 2010-10-31 07:06:38
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!
Valefor.Shaone
Server: Valefor
Game: FFXI
Posts: 87
By Valefor.Shaone 2010-10-31 08:34:05
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.
By Msmith 2010-10-31 09:01:38
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
Hi,
Note: This is super experimental and I have no idea if this will work for you. Even if it does, it will most certainly stop working after the next update.
I think I fixed mouse lag in FFXIV. Turns out that there is a hardware mouse mode in FFXIV, and so I wrote a patch to enable it.
The patch is available here: http://static.ffxiah.com/ffxiv/FFXIVMousePatcher.exe - For game version 2010.09.12.2000 ONLY!
Put the patcher in the same directory as ffxivgame.exe (i.e. in the main FFXIV program folder). Make sure that you have the latest game version before applying the patch (currently the patch only works on whatever the latest version is). Make sure to make a backup of the original, because the patcher won't do it for you.
After it's done, you should have smooth mouse action. This DOESN'T fix input lag caused by low frame rate, but it does make the game playable...whereas before I couldn't stand it.
Please test and let me know if it works for you. If it does I'll work on a more robust patcher that survives version updates.
UPDATE: If SE updates the game version, you will get an error 'An update error has occurred - 20524' as it is applying the patch. When this happens, simply move your backup ffxivgame.exe file back into place and run the game again. It will succeed. After that succeeds, you can re-patch with the new version of the mouse patch above.
Don't have a backup? I'll let you slide this time and provide a downgrade patch so that your install isn't broken. Next time, back up!
http://static.ffxiah.com/ffxiv/FFXIVMouseUnpatcher.exe - This is ONLY for downgrading a patched game version 2010.09.05.2000 to unpatched 2010.09.05.2000 for people who didn't make a backup.
-cliff
|
|