Archived
1
Fork 0
C++ library to interact with FFXIV game data
This repository has been archived on 2025-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
Find a file
Joshua Goins f066452ed8 Add experimental model extraction
This is based off of Lumina's C# model extraction code. It currently
doesn't support edge geometry, and I have no way to actually test
what this actually does since no one has made a standalone FFXIV mdl
viewer. Huh?
2022-04-11 15:52:39 -04:00
include Add support for reading excel packed booleans 2022-04-11 11:57:33 -04:00
src Add experimental model extraction 2022-04-11 15:52:39 -04:00
CMakeLists.txt Add exl parser, make exd category configurable 2022-04-11 10:18:29 -04:00
LICENSE Add license 2022-03-15 15:45:31 -04:00
README.md Clarify usage in README 2022-04-11 12:35:44 -04:00

libxiv

sourcehut GitHub
mirror ryne.moe
mirror

A modding framework for FFXIV written in C++. This is used in Novus (my custom modding tool) and Astra (my custom launcher) but can easily be integrated into your own projects.

Note: This is still an experimental and in-development library. Thus, I have not tagged any stable releases. It's recommended just to checkout from main.

Goals

  • Easily integratable into other FFXIV launchers so they can have update/install support without having to write it themselves.
  • Can export Penumbra/Lumina format mods, I have no interest in exporting in TexTools's format.
  • Can export/edit some formats such as models, and metadata/exl files.
  • Can be used on Windows/Linux/macOS and doesn't pull in a huge runtime (C#) or run in Wine.

Features

  • Easily extract game files and view excel sheets by name. See gamedata.h for usage.
  • Install patches (right now it's limited to boot patches). See patch.h for usage.
  • Install FFXIV by emulating the official installer, bypassing Wine and InstallShield. You can see how to use this in installextract.h.
  • Parse some game data:

Dependencies

Note: Some of these dependencies will automatically be downloaded from the Internet if not found on your system.

  • fmt for formatting strings and logs.
  • zlib for extracting data.
  • unshield for extracting cab files from the FFXIV installer. This dependency is automatically skipped on Windows builds because unshield lacks a port for it.