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
2022-04-12 09:47:22 -04:00
include Load normal data from model 2022-04-12 09:11:14 -04:00
src Properly unpack byte float2/float4 for vertex normal support 2022-04-12 09:47:22 -04:00
CMakeLists.txt Add basic MDL parsing 2022-04-11 20:02:20 -04:00
LICENSE Add license 2022-03-15 15:45:31 -04:00
README.md Add basic MDL parsing 2022-04-11 20:02:20 -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.