1
Fork 0
mirror of https://github.com/redstrate/Novus.git synced 2025-04-26 21:57:45 +00:00

Improve README (and add more), add BUILDING and CONTRIBUTING

This commit is contained in:
Joshua Goins 2023-08-18 12:18:36 -04:00
parent 749ad49c3a
commit b034978b71
10 changed files with 131 additions and 54 deletions

40
BUILDING.md Normal file
View file

@ -0,0 +1,40 @@
# Building Novus
## Dependencies
### Required
All of these packages are required for Astra to build with a minimal set of features.
* Linux
* Windows, macOS and other systems may work but are currently unsupported.
* CMake 3.25 or later
* Qt 5.15 or later
* Rust
## Configuring
**Note:** Some dependencies will automatically be downloaded from the Internet if not found on your system. This functionality may change in the future.
To configure, run `cmake` in the source directory:
```bash
$ cd novus
$ cmake -S . -B build
```
This command will create a new build directory and configure the source directory (`.`). If you want to enable more options, pass the mnow:
```bash
$ cmake -S . -B build -DSOME_OVERRIDE=ON
```
## Building
Now begin building the project:
```bash
$ cmake --build build
```
If the build was successful, you'll find each binary under their respective folder in `build/`.

5
CONTRIBUTING.md Normal file
View file

@ -0,0 +1,5 @@
# Contributing to Novus
I appreciate any code contributions to Novus, whether they are bugfixes or new features! this repository is managed on [sourcehut](https://git.sr.ht/~redstrate/novus).
Once you finished your changes, use [git send-email](https://git-send-email.io/) or the [sourcehut web contributor interface](https://git.sr.ht/~redstrate/novus/send-email) to upload them. Please send your patches to [~redstrate/public-inbox@lists.sr.ht](mailto:~redstrate/public-inbox@lists.sr.ht).

View file

@ -1,69 +1,31 @@
# Novus
This is a collection of cross-platform, FFXIV modding tools. These don't use any pre-existing modding framework (Lumina,
xivModdingFramework, etc) but instead my own custom modding library, [libxiv](https://git.sr.ht/~redstrate/libxiv).
The goal is to create a good set of tools that isn't based on WPF and C#, and can work cross-platform without having
to resort to Wine.
A suite of FFXIV modding tools for Linux.
**Note:** This is alpha level software, not intended to be usable in any capacity at the moment. Thus, I have not tagged
any stable releases.
## exdviewer
## Components
This is used to view excel data from the game. It's pretty basic right now but it seems to read anything I throw at it just fine.
This repository contains many parts of Novus, such as:
* [Argcracker](argcracker), a program that can decrypt game arguments.
* [Armoury](armoury), a graphical gear and character viewer.
* [Bone Decompiler](bonedecomp), a tool to decompile Havok skeleton files into TexTools-compatible JSON.
* [EXD Viewer](exdviewer), a graphical program to view Excel (EXD) sheets from the game.
* [Explorer](explorer), a graphical interface to explore DAT files.
* [Model Viewer](mdlviewer), a graphical model viewer for MDL files.
![exdviewer screenshot](misc/exdviewer-screenshot.png)
## Building
### Usage
Please refer to the [building document](BUILDING.md) for instructions on how to build Novus.
You must pass the path to your `sqpack` directory as the first argument.
## Contributing
`exdviewer.exe C:\Program Files (x86)\SquareEnix\Final Fantasy XIV\game\sqpack`
Please refer to the [contributing document](CONTRIBUTING.md) for everything you need to know to get started contributing to Novus.
## mdlviewer
## License
This can display any arbitrary model from the game, as long as it's supported by libxiv.
![GPLv3](https://www.gnu.org/graphics/gplv3-127x51.png)
![mdlviewer screenshot](misc/mdlviewer-screenshot.png)
### Usage
You must pass the path to your `sqpack` directory as the first argument.
`mdlviewer.exe C:\Program Files (x86)\SquareEnix\Final Fantasy XIV\game\sqpack`
### Note
The viewport uses Vulkan, so it must be supported on your system in order to work.
If you're running mdlviewer on macOS (where Qt builds usually don't ship with MoltenVK unfortunatey)
mdlviewer will automatically reconfigure itself to use a standalone SDL2 window.
## explorer
This tool can list known files by libxiv, such as excel sheets.
### Usage
You must pass the path to your `sqpack` directory as the first argument.
`explorer.exe C:\Program Files (x86)\SquareEnix\Final Fantasy XIV\game\sqpack`
## argcracker
This can crack any SqexArg formatted string you throw at it. However there are two
caveats:
1. You must know the current TickCount() when you got the string, the easiest
way is to run your victim program and then run argcracker right after.
2. You must know at least one known argument (such as `UserPath`) or the decrypted result
will
3. be hard to find.
### Usage
`argcracker.exe [sqexarg string] [tick range] [known arg]`
`argcracker.exe //**sqex0003p8LrsXt9_m9RJAsGzXd66zb3SxeTqZdhV**// 1000 UserPath`
This project is licensed under the [GNU General Public License 3](LICENSE). Some code or assets may be licensed differently, please refer to the [REUSE](https://reuse.software/spec/) metadata.

19
argcracker/README.md Normal file
View file

@ -0,0 +1,19 @@
# argcracker
This can crack any SqexArg formatted string you throw at it. However there are two
caveats:
1. You must know the current TickCount() when you got the string, the easiest way is to run your victim program and then run argcracker right after.
2. You must know at least one known argument (such as `UserPath`) or the decrypted result will be hard to find.
## Usage
```bash
$ argcracker.exe [sqexarg string] [tick range] [known arg]`
```
Example:
```bash
`$ argcracker.exe //**sqex0003p8LrsXt9_m9RJAsGzXd66zb3SxeTqZdhV**// 1000 UserPath`
```

20
armoury/README.md Normal file
View file

@ -0,0 +1,20 @@
# Armoury
The Armoury can display any gear piece in the game, and includes a full model viewer and export functionality. Basic character and bone editing is supported.
![mdlviewer screenshot](../misc/mdlviewer-screenshot.png)
## Usage
You must pass the path to your `sqpack` directory as the first argument.
```
$ mdlviewer "C:\Program Files (x86)\SquareEnix\Final Fantasy XIV\game\sqpack"
```
## Note
The viewport uses Vulkan, so it must be supported on your system in order to work.
If you're running mdlviewer on macOS (where Qt builds usually don't ship with MoltenVK unfortunatey)
mdlviewer will automatically reconfigure itself to use a standalone SDL2 window.

3
bonedecomp/README.md Normal file
View file

@ -0,0 +1,3 @@
# bonedecomp
A tool to decompile Havok skeleton files into TexTools-compatible JSON.

14
exdviewer/README.md Normal file
View file

@ -0,0 +1,14 @@
# EXD Viewer
EXD Viewer can view excel data from the game, and can decode well known sheets using Garlond Tools.
![exdviewer screenshot](../misc/exdviewer-screenshot.png)
## Usage
You must pass the path to your `sqpack` directory as the first argument.
```bash
$ exdviewer "C:\Program Files (x86)\SquareEnix\Final Fantasy XIV\game\sqpack"
```

11
explorer/README.md Normal file
View file

@ -0,0 +1,11 @@
# explorer
This tool can list known files by libxiv, such as excel sheets.
## Usage
You must pass the path to your `sqpack` directory as the first argument.
```bash
$ explorer "C:\Program Files (x86)\SquareEnix\Final Fantasy XIV\game\sqpack"
```

3
mdlviewer/README.md Normal file
View file

@ -0,0 +1,3 @@
# Model Viewer
The Model Viewer can display MDL files supported by the game.

0
sdklauncher/README.md Normal file
View file