---
title: "libxiv"
date: 2022-01-05
draft: false
layout: "project"
projtags:
- FFXIV
- Reverse Engineering
- CPlusPlus
aliases:
- /projects/libxiv
license: GPLv3
source: "https://github.com/redstrate/libxiv"
summary: "Unmaintained FFXIV modding framework."
---

I originally wrote this in C++, but eventually rewrote it in Rust and that turned into
[Physis]({{< ref "physis" >}}).

## 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:
  * EXD
  * EXH
  * EXL
  * FIIN
  * INDEX/INDEX2
  * MDL
