Update links, remove mentions of libxiv

This commit is contained in:
Joshua Goins 2024-05-22 00:09:37 -04:00
parent 0beaf442b7
commit 1322f02d56
25 changed files with 30 additions and 41 deletions

View file

@ -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

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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/)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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

View file

@ -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)

View file

@ -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)

View file

@ -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)