1
Fork 0
mirror of https://github.com/redstrate/Physis.git synced 2025-04-20 03:37:47 +00:00
physis/src/lib.rs

126 lines
3 KiB
Rust
Raw Normal View History

// SPDX-FileCopyrightText: 2023 Joshua Goins <josh@redstrate.com>
// SPDX-License-Identifier: GPL-3.0-or-later
2023-09-24 15:40:38 -04:00
//! Crate for reading and writing the file formats used by FFXIV.
2022-07-19 19:29:41 -04:00
extern crate core;
/// Represents a continuous block of memory which is not owned, and comes either from an in-memory location or from a file.
pub type ByteSpan<'a> = &'a[u8];
/// Represents a continuous block of memory which is owned.
pub type ByteBuffer = Vec<u8>;
/// Reading and writing game data repositories, such as "ffxiv" and "ex1", and so on.
2022-07-19 19:29:41 -04:00
pub mod gamedata;
/// Parsing game repositories, such as "ffxiv", "ex1" and their version information.
2022-07-19 19:29:41 -04:00
pub mod repository;
/// Handling and updating data in the "boot" directory, which contains the launcher files.
2022-07-19 19:29:41 -04:00
pub mod bootdata;
/// Common methods and structures relating to the SqPack data format.
pub mod sqpack;
2022-07-19 19:29:41 -04:00
/// Reading and writing SqPack index files.
2022-07-19 19:29:41 -04:00
pub mod index;
2022-07-19 19:29:41 -04:00
mod compression;
2022-08-16 11:52:07 -04:00
mod dat;
2022-09-15 17:02:30 -04:00
/// Reading model (MDL) files.
#[cfg(feature = "visual_data")]
pub mod model;
/// All of the races in Eorzea in a nice enum package.
2022-07-19 19:29:41 -04:00
pub mod race;
/// Reading Excel lists (EXL).
pub mod exl;
/// Reading equipment and equipment-related data.
2022-07-19 19:29:41 -04:00
pub mod equipment;
2023-09-22 18:15:23 -04:00
/// Common structures, enumerations and functions used by many modules.
2022-07-19 19:29:41 -04:00
pub mod common;
/// Methods for installing game and boot patches.
2022-07-19 19:29:41 -04:00
pub mod patch;
/// Implementation of the Blowfish ECB block cipher used by the retail client. It's used to encrypt arguments in the launcher, to prevent login token snooping.
2022-07-19 19:29:41 -04:00
pub mod blowfish;
2022-07-20 19:07:36 -04:00
mod blowfish_constants;
/// Initializing a new retail game install from the official retail installer. No execution required!
#[cfg(feature = "game_install")]
2022-07-21 19:58:58 -04:00
pub mod installer;
/// Reading Excel header files (EXH).
2022-07-21 19:58:58 -04:00
pub mod exh;
/// Reading Excel data files (EXD).
pub mod exd;
/// Reading Havok XML sidecar files.
#[cfg(feature = "visual_data")]
pub mod skeleton;
2023-12-02 20:28:28 -05:00
/// Reading file info files (FIIN).
2022-08-07 16:19:04 -04:00
pub mod fiin;
/// Reading and writing chat logs (LOG).
pub mod log;
/// Reading textures (TEX).
#[cfg(feature = "visual_data")]
2022-08-11 15:40:14 -04:00
pub mod tex;
/// Reading material files (MTRL)
#[cfg(feature = "visual_data")]
2022-08-16 11:52:07 -04:00
pub mod mtrl;
/// Reading shader packages (SHPK)
#[cfg(feature = "visual_data")]
pub mod shpk;
2023-07-06 17:34:14 -04:00
/// Reading character parameter files (CMP)
pub mod cmp;
/// Reading and writing character data files (DAT) which are used in the character creator to save presets.
pub mod chardat;
/// Reading and writing the plaintext config files (CFG) used by the game to store most of it's configuration.
pub mod cfg;
#[cfg(feature = "visual_data")]
mod havok;
/// Reading bone deform matrices.
#[cfg(feature = "visual_data")]
pub mod pbd;
mod crc;
mod sha1;
#[cfg(feature = "visual_data")]
mod model_file_operations;
#[cfg(feature = "visual_data")]
mod model_vertex_declarations;
2023-07-30 10:28:32 -04:00
#[cfg(feature = "visual_data")]
pub mod lgb;
#[cfg(feature = "visual_data")]
pub mod tera;
mod common_file_operations;
/// Reading word dictionaries, such as the vulgar word list.
pub mod dic;
#[doc(hidden)]
2023-07-30 10:28:32 -04:00
pub const PHYSIS_VERSION: &str = env!("CARGO_PKG_VERSION");