redstrate.com/content/software/libxiv.md

37 lines
1.4 KiB
Markdown
Raw Normal View History

2022-08-29 10:46:26 -04:00
---
title: "libxiv"
2022-09-21 10:49:57 -04:00
date: 2022-01-05
2022-08-29 10:46:26 -04:00
draft: false
2022-10-25 17:28:04 -04:00
layout: "project"
2023-06-23 14:42:45 -04:00
projtags:
2022-08-29 10:46:26 -04:00
- FFXIV
2024-02-23 22:35:59 -05:00
- Reverse Engineering
- CPlusPlus
aliases:
- /projects/libxiv
license: GPLv3
source: "https://git.sr.ht/~redstrate/libxiv"
2023-03-01 14:02:08 -05:00
summary: "Unmaintained FFXIV modding framework."
2022-09-21 10:49:57 -04:00
---
2022-10-25 17:30:50 -04:00
I originally wrote this in C++, but eventually rewrote it in Rust and that turned into
[Physis]({{< ref "physis" >}}).
2024-02-23 22:35:59 -05:00
## 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](include/gamedata.h) for usage.
* Install patches (right now it's limited to boot patches). See [patch.h](include/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](include/installextract.h).
* Parse some game data:
* [EXD](include/exdparser.h)
* [EXH](include/exhparser.h)
* [EXL](include/exlparser.h)
* [FIIN](include/fiinparser.h)
* [INDEX/INDEX2](include/indexparser.h)
* [MDL](include/mdlparser.h)