1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170
// SPDX-FileCopyrightText: 2023 Joshua Goins <josh@redstrate.com>
// SPDX-License-Identifier: GPL-3.0-or-later
//! Crate for reading and writing the file formats used by FFXIV.
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.
pub mod gamedata;
/// Parsing game repositories, such as "ffxiv", "ex1" and their version information.
pub mod repository;
/// Handling and updating data in the "boot" directory, which contains the launcher files.
pub mod bootdata;
/// Common methods and structures relating to the SqPack data format.
pub mod sqpack;
/// Reading and writing SqPack index files.
pub mod index;
mod compression;
mod dat;
/// Reading model (MDL) files.
#[cfg(feature = "visual_data")]
pub mod model;
/// All of the races in Eorzea in a nice enum package.
pub mod race;
/// Reading Excel lists (EXL).
pub mod exl;
/// Reading equipment and equipment-related data.
pub mod equipment;
/// Common structures, enumerations and functions used by many modules.
pub mod common;
/// Methods for installing game and boot patches.
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.
pub mod blowfish;
mod blowfish_constants;
/// Initializing a new retail game install from the official retail installer. No execution required!
#[cfg(feature = "game_install")]
pub mod installer;
/// Reading Excel header files (EXH).
pub mod exh;
/// Reading Excel data files (EXD).
pub mod exd;
/// Reading Havok XML sidecar files.
#[cfg(feature = "visual_data")]
pub mod skeleton;
/// Reading file info files (FIIN).
pub mod fiin;
/// Reading and writing chat logs (LOG).
pub mod log;
/// Reading textures (TEX).
#[cfg(feature = "visual_data")]
pub mod tex;
/// Reading material files (MTRL)
#[cfg(feature = "visual_data")]
pub mod mtrl;
/// Reading shader packages (SHPK)
#[cfg(feature = "visual_data")]
pub mod shpk;
/// 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;
#[cfg(feature = "visual_data")]
pub mod lgb;
#[cfg(feature = "visual_data")]
pub mod tera;
/// Reading data from executables
pub mod execlookup;
mod common_file_operations;
/// Reading word dictionaries, such as the vulgar word list.
pub mod dic;
#[doc(hidden)]
pub const PHYSIS_VERSION: &str = env!("CARGO_PKG_VERSION");
/// Reading ULD files
pub mod uld;
/// Reading SGB files
pub mod sgb;
/// Reading SCD files
pub mod scd;
/// Reading HWC files
pub mod hwc;
/// Reading IWC files
pub mod iwc;
/// Reading TMB files
pub mod tmb;
/// Reading SKP files
pub mod skp;
/// Reading SCHD files
pub mod schd;
/// Reading PHYB files
pub mod phyb;
/// Reading PAP files
pub mod pap;
/// Reading AVFX files
pub mod avfx;
/// Reading STM files
pub mod stm;
/// Find existing installation directories
pub mod existing_dirs;
/// Reading patch lists
pub mod patchlist;