Crate rakata_formats

Crate rakata_formats 

Source
Expand description

Binary and text format readers/writers for KotOR resources.

Modules in this crate are implementation-focused and designed to support deterministic roundtrip behavior.

Re-exports§

pub use bif::read_bif;
pub use bif::read_bif_from_bytes;
pub use bif::write_bif;
pub use bif::write_bif_to_vec;
pub use bif::Bif;
pub use bif::BifBinaryError;
pub use bif::BifContainer;
pub use bif::BifResource;
pub use bif::BifResourceStorage;
pub use binary::DecodeBinary;
pub use binary::EncodeBinary;
pub use bwm::read_bwm;
pub use bwm::read_bwm_ascii;
pub use bwm::read_bwm_from_bytes;
pub use bwm::write_bwm;
pub use bwm::write_bwm_ascii;
pub use bwm::write_bwm_to_vec;
pub use bwm::Bwm;
pub use bwm::BwmAabbNode;
pub use bwm::BwmAdjacency;
pub use bwm::BwmAsciiError;
pub use bwm::BwmBinaryError;
pub use bwm::BwmEdge;
pub use bwm::BwmFace;
pub use bwm::BwmType;
pub use bwm::BwmTypeCode;
pub use bwm::BwmVec3;
pub use dds::read_dds;
pub use dds::read_dds_from_bytes;
pub use dds::write_dds;
pub use dds::write_dds_to_vec;
pub use dds::Dds;
pub use dds::DdsBinaryError;
pub use dds::DdsCaps2;
pub use dds::DdsD3dFormat;
pub use dds::DdsNewD3dParams;
pub use erf::read_erf;
pub use erf::read_erf_from_bytes;
pub use erf::read_erf_from_bytes_with_options;
pub use erf::read_erf_with_options;
pub use erf::read_save_archive;
pub use erf::read_save_archive_from_bytes;
pub use erf::write_erf;
pub use erf::write_erf_to_vec;
pub use erf::write_erf_to_vec_with_options;
pub use erf::write_erf_with_options;
pub use erf::write_save_archive;
pub use erf::write_save_archive_to_vec;
pub use erf::Erf;
pub use erf::ErfBinaryError;
pub use erf::ErfFileType;
pub use erf::ErfLocalizedString;
pub use erf::ErfReadMode;
pub use erf::ErfReadOptions;
pub use erf::ErfResource;
pub use erf::ErfWriteMode;
pub use erf::ErfWriteOptions;
pub use erf::ModLayout;
pub use gff::read_gff;
pub use gff::read_gff_from_bytes;
pub use gff::write_gff;
pub use gff::write_gff_to_vec;
pub use gff::Gff;
pub use gff::GffBinaryError;
pub use gff::GffField;
pub use gff::GffLocalizedString;
pub use gff::GffLocalizedSubstring;
pub use gff::GffStruct;
pub use gff::GffValue;
pub use gff_schema::gff_value_type;
pub use gff_schema::FieldSchema;
pub use gff_schema::GffSchema;
pub use gff_schema::GffType;
pub use key::pack_resource_id;
pub use key::read_key;
pub use key::read_key_from_bytes;
pub use key::write_key;
pub use key::write_key_to_vec;
pub use key::Key;
pub use key::KeyBifEntry;
pub use key::KeyBinaryError;
pub use key::KeyResourceEntry;
pub use lip::read_lip;
pub use lip::read_lip_from_bytes;
pub use lip::write_lip;
pub use lip::write_lip_to_vec;
pub use lip::Lip;
pub use lip::LipBinaryError;
pub use lip::LipKeyframe;
pub use lip::LipShape;
pub use lip::LipShapeCode;
pub use ltr::read_ltr;
pub use ltr::read_ltr_from_bytes;
pub use ltr::write_ltr;
pub use ltr::write_ltr_to_vec;
pub use ltr::Ltr;
pub use ltr::LtrBinaryError;
pub use ltr::LtrProbabilityBlock;
pub use ltr::LTR_CHARACTER_COUNT;
pub use lyt::read_lyt;
pub use lyt::read_lyt_from_bytes;
pub use lyt::write_lyt;
pub use lyt::write_lyt_to_vec;
pub use lyt::Lyt;
pub use lyt::LytDoorHook;
pub use lyt::LytError;
pub use lyt::LytObstacle;
pub use lyt::LytRoom;
pub use lyt::LytTrack;
pub use lyt::Quaternion;
pub use lyt::Vec3;
pub use mdl::assign_inverted_counters;
pub use mdl::read_mdl;
pub use mdl::read_mdl_ascii;
pub use mdl::read_mdl_ascii_from_str;
pub use mdl::read_mdl_from_bytes;
pub use mdl::write_mdl;
pub use mdl::write_mdl_ascii;
pub use mdl::write_mdl_ascii_to_string;
pub use mdl::write_mdl_to_vec;
pub use mdl::write_mdl_with_mdx_to_vec;
pub use mdl::AabbNode;
pub use mdl::Mdl;
pub use mdl::MdlAabb;
pub use mdl::MdlAnimEvent;
pub use mdl::MdlAnimMesh;
pub use mdl::MdlAnimNode;
pub use mdl::MdlAnimation;
pub use mdl::MdlAsciiError;
pub use mdl::MdlCamera;
pub use mdl::MdlController;
pub use mdl::MdlControllerType;
pub use mdl::MdlDangly;
pub use mdl::MdlEmitter;
pub use mdl::MdlError;
pub use mdl::MdlFace;
pub use mdl::MdlKey;
pub use mdl::MdlLight;
pub use mdl::MdlMesh;
pub use mdl::MdlNode;
pub use mdl::MdlNodeData;
pub use mdl::MdlReference;
pub use mdl::MdlSaber;
pub use mdl::MdlSkin;
pub use mdl::MdlWriteResult;
pub use rim::read_rim;
pub use rim::read_rim_from_bytes;
pub use rim::write_rim;
pub use rim::write_rim_to_vec;
pub use rim::Rim;
pub use rim::RimBinaryError;
pub use rim::RimResource;
pub use ssf::read_ssf;
pub use ssf::read_ssf_from_bytes;
pub use ssf::write_ssf;
pub use ssf::write_ssf_to_vec;
pub use ssf::Ssf;
pub use ssf::SsfBinaryError;
pub use ssf::SsfSoundSlot;
pub use tga::read_tga;
pub use tga::read_tga_from_bytes;
pub use tga::read_tga_from_bytes_with_options;
pub use tga::read_tga_with_options;
pub use tga::write_tga;
pub use tga::write_tga_to_vec;
pub use tga::Tga;
pub use tga::TgaBinaryError;
pub use tga::TgaBitsPerPixel;
pub use tga::TgaCompression;
pub use tga::TgaDataType;
pub use tga::TgaHeader;
pub use tga::TgaOrigin;
pub use tga::TgaReadMode;
pub use tga::TgaReadOptions;
pub use tlk::read_tlk;
pub use tlk::read_tlk_from_bytes;
pub use tlk::write_tlk;
pub use tlk::write_tlk_to_vec;
pub use tlk::Tlk;
pub use tlk::TlkBinaryError;
pub use tlk::TlkEntry;
pub use tpc::read_tpc;
pub use tpc::read_tpc_from_bytes;
pub use tpc::write_tpc;
pub use tpc::write_tpc_to_vec;
pub use tpc::Tpc;
pub use tpc::TpcBinaryError;
pub use tpc::TpcHeader;
pub use tpc::TpcHeaderPixelFormat;
pub use tpc::TpcPixelFormatCode;
pub use twoda::read_twoda;
pub use twoda::read_twoda_from_bytes;
pub use twoda::read_twoda_from_bytes_with_options;
pub use twoda::read_twoda_with_options;
pub use twoda::write_twoda;
pub use twoda::write_twoda_to_vec;
pub use twoda::write_twoda_to_vec_with_options;
pub use twoda::write_twoda_with_options;
pub use twoda::TwoDa;
pub use twoda::TwoDaBinaryError;
pub use twoda::TwoDaBinaryOptions;
pub use twoda::TwoDaRow;
pub use txi::read_txi;
pub use txi::read_txi_from_bytes;
pub use txi::read_txi_from_bytes_with_options;
pub use txi::read_txi_with_options;
pub use txi::write_txi;
pub use txi::write_txi_to_vec;
pub use txi::write_txi_to_vec_with_options;
pub use txi::write_txi_with_options;
pub use txi::Txi;
pub use txi::TxiCoordinate;
pub use txi::TxiCoordinateBlock;
pub use txi::TxiDirective;
pub use txi::TxiEntry;
pub use txi::TxiError;
pub use txi::TxiReadOptions;
pub use txi::TxiWriteOptions;
pub use vis::read_vis;
pub use vis::read_vis_from_bytes;
pub use vis::write_vis;
pub use vis::write_vis_to_vec;
pub use vis::Vis;
pub use vis::VisError;
pub use wav::read_wav;
pub use wav::read_wav_from_bytes;
pub use wav::write_wav;
pub use wav::write_wav_to_vec;
pub use wav::write_wav_to_vec_with_options;
pub use wav::write_wav_with_options;
pub use wav::Wav;
pub use wav::WavAudioFormat;
pub use wav::WavEncoding;
pub use wav::WavEncodingCode;
pub use wav::WavError;
pub use wav::WavType;
pub use wav::WavWaveMetadata;
pub use wav::WavWrapperKind;
pub use wav::WavWriteMode;
pub use wav::WavWriteOptions;

Modules§

bif
BIF archive support. BIF binary reader and writer.
binary
Shared binary utilities and lightweight format codec traits. Shared binary helpers and lightweight codec traits.
bwm
BWM/WOK binary walkmesh support. BWM/WOK binary reader and writer.
dds
DDS texture-container support. DDS (DirectDraw Surface) reader and writer.
erf
ERF-family archive support. ERF/MOD/HAK binary reader and writer.
gff
GFF binary container support. GFF V3.2 binary reader and writer.
gff_schema
GFF schema types for field validation. Schema types for GFF field validation.
key
KEY index support. KEY binary reader and writer.
lip
LIP binary lip-sync support. LIP binary reader and writer.
ltr
LTR binary letter-table support. LTR binary reader and writer.
lyt
LYT ASCII layout support. LYT ASCII reader and writer.
mdl
MDL binary model support. MDL binary model reader and writer.
rim
RIM archive support. RIM binary reader and writer.
ssf
SSF binary sound-set support. SSF binary reader and writer.
tga
TGA texture-image support. TGA (Targa) reader and writer.
tlk
Talk table (TLK) binary support. TLK V3.0 binary reader and writer.
tpc
TPC binary texture-container support. TPC binary reader and writer.
twoda
2DA binary table support. 2DA V2.b binary reader and writer.
txi
TXI ASCII texture-info support. TXI ASCII reader and writer.
vis
VIS ASCII visibility support. VIS ASCII reader and writer.
wav
WAV audio container support. WAV reader and writer with KotOR obfuscation handling.