Update executable links
This commit is contained in:
parent
f72f8879a2
commit
272a61255b
5 changed files with 17 additions and 15 deletions
|
@ -4,7 +4,7 @@ title: "ffxiv.exe"
|
|||
|
||||
This is the actual game executable, and theres two versions - one for DX9 and DX11. You'll almost always be using the DX11 version, called `ffxiv_dx11.exe`.
|
||||
|
||||
## Arguments
|
||||
# Arguments
|
||||
|
||||
* DEV.DataPathType
|
||||
* **Guessing** that this controls the asset data type used by the client, this is will always be `1`.
|
||||
|
@ -29,6 +29,6 @@ This is the actual game executable, and theres two versions - one for DX9 and DX
|
|||
|
||||
**Note:** For benchmark versions of the game, there is a whole host of graphical options available as game arguments - but this seems to be missing in the retail version.
|
||||
|
||||
## Alternative Implementations
|
||||
# Alternative Implementations
|
||||
|
||||
None.
|
||||
|
|
|
@ -4,11 +4,11 @@ title: "ffxivboot.exe"
|
|||
|
||||
This executable handles launching [ffxivlauncher.exe](executable/ffxivlauncher), and also patching "boot files" (aka anything inside of the GameInstall/boot folder).
|
||||
|
||||
## Arguments
|
||||
# Arguments
|
||||
|
||||
None(?) that I've found yet.
|
||||
|
||||
## Alternative Implementations
|
||||
# Alternative Implementations
|
||||
|
||||
* [Astra](https://git.sr.ht/~redstrate/astra/tree/main/item/launcher/core/src/squareboot.cpp)/[libxiv (C++)](https://git.sr.ht/~redstrate/libxiv/tree/main/item/src/patch.cpp)
|
||||
* [XIVQuickLauncher (C#)](https://github.com/goatcorp/FFXIVQuickLauncher/blob/master/src/XIVLauncher.Common/Game/Launcher.cs)
|
||||
* [Astra (C++)](https://git.sr.ht/~redstrate/astra/tree/main/item/launcher/src/squareboot.cpp)
|
||||
|
|
|
@ -14,6 +14,7 @@ To find them, simply find the needle string "Disk1\\{FileName}" where FileName i
|
|||
|
||||
They are simply put right next to each other in the executable, so if you follow that order you'll find each of them quite easily.
|
||||
|
||||
## Alternative Implementations
|
||||
# Alternative Implementations
|
||||
|
||||
* [physis (Rust)](https://git.sr.ht/~redstrate/physis/tree/main/item/src/installer.rs)
|
||||
* [libxiv (C++)](https://git.sr.ht/~redstrate/libxiv/tree/main/src/installextract.cpp)
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
title: "ffxivlauncher.exe"
|
||||
---
|
||||
|
||||
## Arguments
|
||||
# Arguments
|
||||
|
||||
**Note:** Just like the other executables, it requires you to pass these using the [SqexArg](concept/sqexarg) format.
|
||||
|
||||
|
@ -24,7 +24,7 @@ title: "ffxivlauncher.exe"
|
|||
- Your usual path to your FFXIV data folder in Documents.
|
||||
|
||||
|
||||
## Alternative Implementations
|
||||
# Alternative Implementations
|
||||
|
||||
* [XIVQuickLauncher (C#)](https://github.com/goatcorp/FFXIVQuickLauncher)
|
||||
* [Astra (C++)](https://sr.ht/~redstrate/astra/)
|
||||
|
|
|
@ -4,7 +4,7 @@ title: "ffxivupdater.exe"
|
|||
|
||||
**Note:** This is unconfirmed information, as I'm still progressing through my reverse engineering work. If you have any idea what this updater is doing, please contact me :-)
|
||||
|
||||
## Arguments
|
||||
# Arguments
|
||||
|
||||
**Note:** Just like the other executables, it requires you to pass these using the [SqexArg](concept/sqexarg) format.
|
||||
|
||||
|
@ -28,10 +28,10 @@ title: "ffxivupdater.exe"
|
|||
- UserPath
|
||||
- This is the usual UserPath arugment, pointing to your FFXIV-ARR Documents directory.
|
||||
|
||||
## Processes
|
||||
# Processes
|
||||
During update execution, the launcher(?) copies the updater executable into your `UserPath/downloads` directory, where it is then ran. I'm assuming this is to work around a Windows limitation where you can't update the executable on disk, so it has to be ran from a location where it could "update" itself.
|
||||
|
||||
### ShowMode 2
|
||||
## ShowMode 2
|
||||
|
||||
This is the regular retail patching mode, and it runs ffxivupdater64.exe in a hidden window that's just there for message processing. I'm not sure yet if ffxivupdater.exe is the one actually downloading the patch files yet. The launcher just reflects ffxivupdater's progress, and passes it along to the web form in the form of a json callback. You can set a breakpoint at 0x183278 (tested on the launcher ver 3/20/2022) and see that it first hits that area when updating. There is three seperate printf strings, which I'm guessing is the three "modes" of patch progress:
|
||||
|
||||
|
@ -46,11 +46,11 @@ The first one appears very minimal but might be the one used when it's not downl
|
|||
The second one appears to be the regular "downloading" patch mode, considering it says "downloadsize" right there.
|
||||
The last one would appear to be when it's actually applying the patches, as it has "remaintime" as well as "speed".
|
||||
|
||||
#### IPC
|
||||
# IPC
|
||||
|
||||
It appears that ffxivlauncher.exe and ffxivupdater.exe is communicating exclusively through Win32 IPC (SendMessage). I haven't deciphered the actual messages yet, but here is a few interesting ones I've seen used:
|
||||
|
||||
##### 0x7fc
|
||||
## 0x7fc
|
||||
|
||||
The format is `{version:\"%s\",ID:%d}`. I'm guessing this means "install this patch", version obviously corresponds to the patch version, and maybe ID is the jumble of alphanumeric characters in the directory names of the ffxivpatch folder?
|
||||
|
||||
|
@ -58,7 +58,8 @@ The format is `{version:\"%s\",ID:%d}`. I'm guessing this means "install this pa
|
|||
|
||||
0x81a - unknown
|
||||
|
||||
## Alternative Implementations
|
||||
# Alternative Implementations
|
||||
|
||||
* [XIVQuickLauncher (C#)](https://github.com/goatcorp/FFXIVQuickLauncher/tree/master/src/XIVLauncher.Common/Game/Patch)
|
||||
* [libxiv](https://git.sr.ht/~redstrate/libxiv/tree/main/item/src/patch.cpp)
|
||||
* [physis (Rust)](https://git.sr.ht/~redstrate/physis/tree/main/item/src/patch.rs)
|
||||
* [libxiv (C++)](https://git.sr.ht/~redstrate/libxiv/tree/main/item/src/patch.cpp)
|
||||
|
|
Loading…
Add table
Reference in a new issue