Update links, remove mentions of libxiv
This commit is contained in:
parent
0beaf442b7
commit
1322f02d56
25 changed files with 30 additions and 41 deletions
|
@ -34,7 +34,7 @@ Alternative programs for the official servers such as [Frontier]({{< ref "fronti
|
||||||
| Name | Description | Website |
|
| Name | Description | Website |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
| Sapphire | A Final Fantasy XIV 4.0+ Server Emulator written in C++ | https://github.com/SapphireServer/Sapphire/ |
|
| Sapphire | A Final Fantasy XIV 4.0+ Server Emulator written in C++ | https://github.com/SapphireServer/Sapphire/ |
|
||||||
| Kawari | Substitute for some official FFXIV servers | https://git.sr.ht/~redstrate/kawari |
|
| Kawari | Substitute for some official FFXIV servers | https://github.com/redstrate/kawari |
|
||||||
| Project Meteor | Final Fantasy XIV 1.X Server Emulator | https://bitbucket.org/Ioncannon/project-meteor-server/ |
|
| Project Meteor | Final Fantasy XIV 1.X Server Emulator | https://bitbucket.org/Ioncannon/project-meteor-server/ |
|
||||||
|
|
||||||
# Libraries
|
# Libraries
|
||||||
|
@ -46,8 +46,7 @@ Libraries to interact with game data, read formats and more.
|
||||||
| xivModdingFramework | The library that powers TexTools. Can read/write models, textures, materials etc. | https://github.com/TexTools/xivModdingFramework |
|
| xivModdingFramework | The library that powers TexTools. Can read/write models, textures, materials etc. | https://github.com/TexTools/xivModdingFramework |
|
||||||
| Lumina | A simple, performant and extensible framework for interacting with FFXIV game data | https://github.com/NotAdam/Lumina |
|
| Lumina | A simple, performant and extensible framework for interacting with FFXIV game data | https://github.com/NotAdam/Lumina |
|
||||||
| Xande | A C# library for interacting with FINAL FANTASY XIV models | https://github.com/xivdev/Xande |
|
| Xande | A C# library for interacting with FINAL FANTASY XIV models | https://github.com/xivdev/Xande |
|
||||||
| Physis | Data framework for FFXIV | https://git.sr.ht/~redstrate/physis |
|
| Physis | Data framework for FFXIV | https://github.com/redstrate/physis |
|
||||||
| libxiv | A (deprecated) modding framework for FFXIV written in C++ | https://git.sr.ht/~redstrate/libxiv |
|
|
||||||
|
|
||||||
# Plugin Frameworks
|
# Plugin Frameworks
|
||||||
|
|
||||||
|
|
|
@ -41,7 +41,7 @@ The resulting bytes when you decode the base64 string is going to Blowfish ECB e
|
||||||
|
|
||||||
* However, please note that Square Enix does some weird bitflip endian-encoding nonsense which means your out-of-box Blowfish library might not work. I would highly recommend reading up on some existing implementations to get an idea of what to do:
|
* However, please note that Square Enix does some weird bitflip endian-encoding nonsense which means your out-of-box Blowfish library might not work. I would highly recommend reading up on some existing implementations to get an idea of what to do:
|
||||||
* [XIVQuickLauncher (C#)](https://github.com/goatcorp/FFXIVQuickLauncher/blob/master/src/XIVLauncher.Common/Encryption/LegacyBlowfish.cs)
|
* [XIVQuickLauncher (C#)](https://github.com/goatcorp/FFXIVQuickLauncher/blob/master/src/XIVLauncher.Common/Encryption/LegacyBlowfish.cs)
|
||||||
* [Astra (C++)](https://git.sr.ht/~redstrate/astra/tree/main/item/launcher/core/include/blowfish.h)
|
* [Astra (C++)](https://github.com/redstrate/astra/blob/main/launcher/core/include/blowfish.h)
|
||||||
* [XIV-on-Mac (Swift)](https://github.com/marzent/XIV-on-Mac/blob/main/XIV%20on%20Mac/Encryption.swift)
|
* [XIV-on-Mac (Swift)](https://github.com/marzent/XIV-on-Mac/blob/main/XIV%20on%20Mac/Encryption.swift)
|
||||||
* Before encrypting or decrypting, ensure the buffer is padded.
|
* Before encrypting or decrypting, ensure the buffer is padded.
|
||||||
|
|
||||||
|
@ -116,7 +116,7 @@ static char GetChecksum(unsigned int key) {
|
||||||
|
|
||||||
# Decrypting
|
# Decrypting
|
||||||
|
|
||||||
You can try the [dedicated argcracker](https://sr.ht/~redstrate/novus/#argcracker) in Novus for this purpose. It allows you to easily
|
You can try the [dedicated argcracker](https://github.com/redstrate/novus/blob/main/apps/argcracker) in Novus for this purpose. It allows you to easily
|
||||||
crack any SqexArg enabled program assuming you have access to the string.
|
crack any SqexArg enabled program assuming you have access to the string.
|
||||||
|
|
||||||
# Notes
|
# Notes
|
||||||
|
@ -132,5 +132,5 @@ The arguments (before encoding of course) must be formatted as `" /%1 =%2"`. The
|
||||||
# Implementations
|
# Implementations
|
||||||
|
|
||||||
* [XIVQuickLauncher (C#)](https://github.com/goatcorp/FFXIVQuickLauncher/blob/master/src/XIVLauncher.Common/Encryption/ArgumentBuilder.cs)
|
* [XIVQuickLauncher (C#)](https://github.com/goatcorp/FFXIVQuickLauncher/blob/master/src/XIVLauncher.Common/Encryption/ArgumentBuilder.cs)
|
||||||
* [Astra (C++)](https://git.sr.ht/~redstrate/astra/tree/main/item/launcher/core/include/encryptedarg.h)
|
* [Astra (C++)](https://github.com/redstrate/astra/blob/main/launcher/core/include/encryptedarg.h)
|
||||||
* [XIV-on-Mac (Swift)](https://github.com/marzent/XIV-on-Mac/blob/main/XIV%20on%20Mac/Encryption.swift)
|
* [XIV-on-Mac (Swift)](https://github.com/marzent/XIV-on-Mac/blob/main/XIV%20on%20Mac/Encryption.swift)
|
||||||
|
|
|
@ -8,5 +8,5 @@ This executable handles launching [ffxivlauncher.exe](executable/ffxivlauncher),
|
||||||
|
|
||||||
# Alternative Implementations
|
# Alternative Implementations
|
||||||
|
|
||||||
* [Astra (C++)](https://git.sr.ht/~redstrate/astra/tree/main/item/launcher/src/squareboot.cpp)
|
|
||||||
* [XIVQuickLauncher (C#)](https://github.com/goatcorp/FFXIVQuickLauncher/blob/master/src/XIVLauncher.Common/Game/Launcher.cs)
|
* [XIVQuickLauncher (C#)](https://github.com/goatcorp/FFXIVQuickLauncher/blob/master/src/XIVLauncher.Common/Game/Launcher.cs)
|
||||||
|
* [Astra (C++)](https://github.com/redstrate/astra/blob/main/launcher/src/squareboot.cpp)
|
||||||
|
|
|
@ -16,5 +16,4 @@ They are simply put right next to each other in the executable, so if you follow
|
||||||
|
|
||||||
# Alternative Implementations
|
# Alternative Implementations
|
||||||
|
|
||||||
* [physis (Rust)](https://git.sr.ht/~redstrate/physis/tree/main/item/src/installer.rs)
|
* [physis (Rust)](https://github.com/redstrate/physis/blob/main/src/installer.rs)
|
||||||
* [libxiv (C++)](https://git.sr.ht/~redstrate/libxiv/tree/main/src/installextract.cpp)
|
|
||||||
|
|
|
@ -59,9 +59,9 @@ For details on how logging into the Square Enix servers work, see the [relevant
|
||||||
|
|
||||||
# Alternative Implementations
|
# Alternative Implementations
|
||||||
|
|
||||||
* [Astra (C++)](https://sr.ht/~redstrate/astra/)
|
|
||||||
* [XIVQuickLauncher (C#)](https://github.com/goatcorp/FFXIVQuickLauncher)
|
* [XIVQuickLauncher (C#)](https://github.com/goatcorp/FFXIVQuickLauncher)
|
||||||
* [XIVCore (C#)](https://github.com/goatcorp/XIVLauncher.Core)
|
* [XIVCore (C#)](https://github.com/goatcorp/XIVLauncher.Core)
|
||||||
* [XIV-on-Mac (Swift)](https://github.com/marzent/XIV-on-Mac)
|
* [XIV-on-Mac (Swift)](https://github.com/marzent/XIV-on-Mac)
|
||||||
* [microlaunch (Rust)](https://github.com/eorzeatools/microlaunch)
|
* [microlaunch (Rust)](https://github.com/eorzeatools/microlaunch)
|
||||||
* [L4-cpp (C++)](https://github.com/WorkingRobot/L4-cpp)
|
* [L4-cpp (C++)](https://github.com/WorkingRobot/L4-cpp)
|
||||||
|
* [Astra (C++)](https://github.com/redstrate/astra/)
|
||||||
|
|
|
@ -63,6 +63,5 @@ It looks like this communicates exclusively through Win32 IPC (SendMessage). I h
|
||||||
|
|
||||||
# Alternative Implementations
|
# Alternative Implementations
|
||||||
|
|
||||||
* [physis (Rust)](https://git.sr.ht/~redstrate/physis/tree/main/item/src/patch.rs)
|
* [XIVQuickLauncher (C#)](https://github.com/goatcorp/FFXIVQuickLauncher/blob/master/src/XIVLauncher.Common/Game/Patch)
|
||||||
* [XIVQuickLauncher (C#)](https://github.com/goatcorp/FFXIVQuickLauncher/tree/master/src/XIVLauncher.Common/Game/Patch)
|
* [physis (Rust)](https://github.com/redstrate/physis/blob/main/src/patch.rs)
|
||||||
* [libxiv (C++)](https://git.sr.ht/~redstrate/libxiv/tree/main/item/src/patch.cpp)
|
|
||||||
|
|
|
@ -21,4 +21,4 @@ Keep in mind that categories can exist without any key-value pairs, as shown abo
|
||||||
|
|
||||||
# Alternative Implementations
|
# Alternative Implementations
|
||||||
|
|
||||||
* [Physis (Rust)](https://git.sr.ht/~redstrate/physis/tree/main/item/src/cfg.rs)
|
* [Physis (Rust)](https://github.com/redstrate/physis/blob/main/src/cfg.rs)
|
||||||
|
|
|
@ -109,4 +109,4 @@ struct CharacterData {
|
||||||
|
|
||||||
# Alternative Implementations
|
# Alternative Implementations
|
||||||
|
|
||||||
* [Physis (Rust)](https://git.sr.ht/~redstrate/physis/tree/main/item/src/chardat.rs)
|
* [Physis (Rust)](https://github.com/redstrate/physis/blob/main/src/chardat.rs)
|
||||||
|
|
|
@ -8,4 +8,4 @@ Describes various character parameters such as minimum and maximum height.
|
||||||
|
|
||||||
# Alternative Implementations
|
# Alternative Implementations
|
||||||
|
|
||||||
* [Physis (Rust)](https://git.sr.ht/~redstrate/physis/tree/main/item/src/cmp.rs)
|
* [Physis (Rust)](https://github.com/redstrate/physis/blob/main/src/cmp.rs)
|
||||||
|
|
|
@ -11,7 +11,6 @@ I recommend reading the ["Excel Data" section](https://xiv.dev/game-data/file-fo
|
||||||
|
|
||||||
# Alternative Implementations
|
# Alternative Implementations
|
||||||
|
|
||||||
* [Physis (Rust)](https://git.sr.ht/~redstrate/physis/tree/main/item/src/exd.rs)
|
* [xivModdingFramework (C#)](https://github.com/TexTools/xivModdingFramework/blob/master/xivModdingFramework/Exd)
|
||||||
* [xivModdingFramework (C#)](https://github.com/TexTools/xivModdingFramework/tree/master/xivModdingFramework/Exd)
|
|
||||||
* [Lumina (C#)](https://github.com/NotAdam/Lumina/blob/master/src/Lumina/Data/Files/Excel/ExcelDataFile.cs)
|
* [Lumina (C#)](https://github.com/NotAdam/Lumina/blob/master/src/Lumina/Data/Files/Excel/ExcelDataFile.cs)
|
||||||
* [libxiv (C++)](https://git.sr.ht/~redstrate/libxiv/tree/main/item/src/exdparser.cpp)
|
* [Physis (Rust)](https://github.com/redstrate/physis/blob/main/src/exd.rs)
|
||||||
|
|
|
@ -11,6 +11,5 @@ This is a schema file describing the column and row layout of an Excel sheet (su
|
||||||
|
|
||||||
# Alternative Implementations
|
# Alternative Implementations
|
||||||
|
|
||||||
* [Physis (Rust)](https://git.sr.ht/~redstrate/physis/tree/main/item/src/exh.rs)
|
|
||||||
* [Lumina (C#)](https://github.com/NotAdam/Lumina/blob/master/src/Lumina/Data/Files/Excel/ExcelHeaderFile.cs)
|
* [Lumina (C#)](https://github.com/NotAdam/Lumina/blob/master/src/Lumina/Data/Files/Excel/ExcelHeaderFile.cs)
|
||||||
* [libxiv (C++)](https://git.sr.ht/~redstrate/libxiv/tree/main/item/src/exhparser.cpp)
|
* [Physis (Rust)](https://github.com/redstrate/physis/blob/main/src/exh.rs)
|
||||||
|
|
|
@ -22,6 +22,5 @@ With an Excel List parsed, you can then build a path to a [Excel header or .exh]
|
||||||
|
|
||||||
# Alternative Implementations
|
# Alternative Implementations
|
||||||
|
|
||||||
* [Physis (Rust)](https://git.sr.ht/~redstrate/physis/tree/main/item/src/exl.rs)
|
|
||||||
* [Lumina (C#)](https://github.com/NotAdam/Lumina/blob/master/src/Lumina/Data/Files/Excel/ExcelListFile.cs)
|
* [Lumina (C#)](https://github.com/NotAdam/Lumina/blob/master/src/Lumina/Data/Files/Excel/ExcelListFile.cs)
|
||||||
* [libxiv (C++)](https://git.sr.ht/~redstrate/libxiv/tree/main/item/src/exlparser.cpp)
|
* [Physis (Rust)](https://github.com/redstrate/physis/blob/main/src/exl.rs)
|
||||||
|
|
|
@ -43,5 +43,4 @@ This file appears to have SHA1 hashes, but for what purpose I do not know.
|
||||||
|
|
||||||
# Alternative Implementations
|
# Alternative Implementations
|
||||||
|
|
||||||
* [Physis (Rust)](https://git.sr.ht/~redstrate/physis/tree/main/item/src/fiin.rs)
|
* [Physis (Rust)](https://github.com/redstrate/physis/blob/main/src/fiin.rs)
|
||||||
* [libxiv (C++)](https://git.sr.ht/~redstrate/libxiv/tree/main/item/src/fiinparser.cpp)
|
|
||||||
|
|
|
@ -70,4 +70,4 @@ for (uint32_t offset : offsets) {
|
||||||
|
|
||||||
# Alternative Implementations
|
# Alternative Implementations
|
||||||
|
|
||||||
* [Physis (Rust)](https://git.sr.ht/~redstrate/physis/tree/main/item/src/log.rs)
|
* [Physis (Rust)](https://github.com/redstrate/physis/blob/main/src/log.rs)
|
||||||
|
|
|
@ -72,5 +72,4 @@ For every vertex declaration (the count in `vertexDeclarationCount`) first read
|
||||||
|
|
||||||
# Alternative Implementations
|
# Alternative Implementations
|
||||||
|
|
||||||
* [Physis (Rust)](https://git.sr.ht/~redstrate/physis/tree/main/item/src/mdl.rs)
|
* [Physis (Rust)](https://github.com/redstrate/physis/blob/main/src/mdl.rs)
|
||||||
* [libxiv (C++)](https://git.sr.ht/~redstrate/libxiv/tree/main/item/src/mdlparser.cpp)
|
|
||||||
|
|
|
@ -8,4 +8,4 @@ A visual material.
|
||||||
|
|
||||||
# Alternative Implementations
|
# Alternative Implementations
|
||||||
|
|
||||||
* [Physis (Rust)](https://git.sr.ht/~redstrate/physis/tree/main/item/src/mtrl.rs)
|
* [Physis (Rust)](https://github.com/redstrate/physis/blob/main/src/mtrl.rs)
|
||||||
|
|
|
@ -10,5 +10,4 @@ I recommend reading the ["ZiPatch" section](https://xiv.dev/data-files/zipatch)
|
||||||
|
|
||||||
# Alternative Implementations
|
# Alternative Implementations
|
||||||
|
|
||||||
* [Physis (Rust)](https://git.sr.ht/~redstrate/physis/tree/main/item/src/patch.rs)
|
* [Physis (Rust)](https://github.com/redstrate/physis/blob/main/src/patch.rs)
|
||||||
* [libxiv (C++)](https://git.sr.ht/~redstrate/libxiv/tree/main/item/src/patch.cpp)
|
|
||||||
|
|
|
@ -74,4 +74,4 @@ The shaders are stored as DXBC bytecode (the bytecode used by DirectX before DXI
|
||||||
# Alternative Implementations
|
# Alternative Implementations
|
||||||
|
|
||||||
* [SaintCoinach (C#)](https://github.com/xivapi/SaintCoinach/blob/master/SaintCoinach/Graphics/ShPk/ShPkFile.cs)
|
* [SaintCoinach (C#)](https://github.com/xivapi/SaintCoinach/blob/master/SaintCoinach/Graphics/ShPk/ShPkFile.cs)
|
||||||
* [Physis (Rust)](https://git.sr.ht/~redstrate/physis/tree/main/item/src/shpk.rs)
|
* [Physis (Rust)](https://github.com/redstrate/physis/blob/main/src/shpk.rs)
|
||||||
|
|
|
@ -10,7 +10,6 @@ I recommend reading the ["SqPack" page](https://xiv.dev/data-files/sqpack) on xi
|
||||||
|
|
||||||
# Alternative Implementations
|
# Alternative Implementations
|
||||||
|
|
||||||
* [Physis (Rust)](https://git.sr.ht/~redstrate/physis/tree/main/item/src/gamedata.rs)
|
|
||||||
* [xivModdingFramework (C#)](https://github.com/TexTools/xivModdingFramework/blob/master/xivModdingFramework/SqPack/FileTypes/Dat.cs)
|
* [xivModdingFramework (C#)](https://github.com/TexTools/xivModdingFramework/blob/master/xivModdingFramework/SqPack/FileTypes/Dat.cs)
|
||||||
* [Lumina (C#)](https://github.com/NotAdam/Lumina/blob/master/src/Lumina/Data/SqPackStream.cs)
|
* [Lumina (C#)](https://github.com/NotAdam/Lumina/blob/master/src/Lumina/Data/SqPackStream.cs)
|
||||||
* [libxiv (C++)](https://git.sr.ht/~redstrate/libxiv/tree/main/item/src/gamedata.cpp)
|
* [Physis (Rust)](https://github.com/redstrate/physis/blob/main/src/gamedata.rs)
|
||||||
|
|
|
@ -10,7 +10,6 @@ I recommend reading the ["Reading Index Data" section](https://xiv.dev/data-file
|
||||||
|
|
||||||
# Alternative Implementations
|
# Alternative Implementations
|
||||||
|
|
||||||
* [Physis (Rust)](https://git.sr.ht/~redstrate/physis/tree/main/item/src/index.rs)
|
|
||||||
* [xivModdingFramework (C#)](https://github.com/TexTools/xivModdingFramework/blob/master/xivModdingFramework/SqPack/FileTypes/Index.cs)
|
* [xivModdingFramework (C#)](https://github.com/TexTools/xivModdingFramework/blob/master/xivModdingFramework/SqPack/FileTypes/Index.cs)
|
||||||
* [Lumina (C#)](https://github.com/NotAdam/Lumina/blob/master/src/Lumina/Data/SqPackIndex.cs)
|
* [Lumina (C#)](https://github.com/NotAdam/Lumina/blob/master/src/Lumina/Data/SqPackIndex.cs)
|
||||||
* [libxiv (C++)](https://git.sr.ht/~redstrate/libxiv/tree/main/item/src/indexparser.cpp)
|
* [Physis (Rust)](https://github.com/redstrate/physis/blob/main/src/index.rs)
|
||||||
|
|
|
@ -8,4 +8,4 @@ Visual texture.
|
||||||
|
|
||||||
# Alternative Implementations
|
# Alternative Implementations
|
||||||
|
|
||||||
* [Physis (Rust)](https://git.sr.ht/~redstrate/physis/tree/main/item/src/tex.rs)
|
* [Physis (Rust)](https://github.com/redstrate/physis/blob/main/src/tex.rs)
|
||||||
|
|
|
@ -23,7 +23,7 @@ Move this file to another location, as that's all we need from the disc.
|
||||||
|
|
||||||
# Dumping the .PKG file
|
# Dumping the .PKG file
|
||||||
|
|
||||||
This is a ["software update package" or PKG](https://psdevwiki.com/ps3/PKG_files) used for installing the game on a PS3. These are encrypted and compressed, but there is a software tool called `pkgrip` which we will use to extract it's contents. Clone and build the tool from [here](https://git.sr.ht/~redstrate/pkgrip) and then run it:
|
This is a ["software update package" or PKG](https://psdevwiki.com/ps3/PKG_files) used for installing the game on a PS3. These are encrypted and compressed, but there is a software tool called `pkgrip` which we will use to extract it's contents. Clone and build the tool from [here](https://github.com/redstrate/pkgrip) and then run it:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ pkgrip INSTALL.PKG
|
$ pkgrip INSTALL.PKG
|
||||||
|
|
|
@ -10,4 +10,4 @@ It serves the [launcher](/executable/ffxivlauncher) page and gives out the gate
|
||||||
|
|
||||||
# Alternative Implementations
|
# Alternative Implementations
|
||||||
|
|
||||||
* [Kawari (Rust)](https://git.sr.ht/~redstrate/kawari)
|
* [Kawari (Rust)](https://github.com/redstrate/kawari)
|
||||||
|
|
|
@ -6,4 +6,4 @@ title: "Login"
|
||||||
|
|
||||||
# Alternative Implementations
|
# Alternative Implementations
|
||||||
|
|
||||||
* [Kawari (Rust)](https://git.sr.ht/~redstrate/kawari)
|
* [Kawari (Rust)](https://github.com/redstrate/kawari)
|
||||||
|
|
|
@ -12,4 +12,4 @@ The PS3 and PS4 versions of the game used to use the same patch system as the Wi
|
||||||
|
|
||||||
# Alternative Implementations
|
# Alternative Implementations
|
||||||
|
|
||||||
* [Kawari (Rust)](https://git.sr.ht/~redstrate/kawari)
|
* [Kawari (Rust)](https://github.com/redstrate/kawari)
|
||||||
|
|
Loading…
Add table
Reference in a new issue