pub struct SqpackFileId {
pub main_id: u16,
pub sub_id: u16,
pub file_id: u32,
}Expand description
Identifier of a SqPack file targeted by a SQPK command.
SqPack files live under
<game_root>/sqpack/<expansion>/<main_id:02x><sub_id:04x>.<platform>.<kind>.
The three fields together uniquely address one file on disk; see the
apply::path module for how they are combined into filesystem paths.
Fields§
§main_id: u16Category/repository identifier — the first two hex digits of the filename
stem (e.g. 04 in 040100.win32.dat0).
Encoded as a big-endian u16 (2 bytes) in the wire format.
sub_id: u16Sub-category identifier — the next four hex digits of the filename stem
(e.g. 0100 in 040100.win32.dat0).
Encoded as a big-endian u16 (2 bytes). The high byte (sub_id >> 8)
selects the expansion folder: 0 → ffxiv, 1 → ex1, 2 → ex2, etc.
file_id: u32File index within the category, used to derive the numeric suffix:
- For
.datfiles: appended directly as the decimalNin.datN. - For
.indexfiles:0produces no suffix (.index);1or higher appends the value directly (.index1,.index2, …).
Encoded as a big-endian u32 (4 bytes).
Trait Implementations§
Source§impl BinRead for SqpackFileId
impl BinRead for SqpackFileId
Source§fn read_options<R: Read + Seek>(
__binrw_generated_var_reader: &mut R,
__binrw_generated_var_endian: Endian,
__binrw_generated_var_arguments: Self::Args<'_>,
) -> BinResult<Self>
fn read_options<R: Read + Seek>( __binrw_generated_var_reader: &mut R, __binrw_generated_var_endian: Endian, __binrw_generated_var_arguments: Self::Args<'_>, ) -> BinResult<Self>
Source§fn read<R>(reader: &mut R) -> Result<Self, Error>
fn read<R>(reader: &mut R) -> Result<Self, Error>
Self from the reader using default arguments. Read moreSource§fn read_be<R>(reader: &mut R) -> Result<Self, Error>
fn read_be<R>(reader: &mut R) -> Result<Self, Error>
Self from the reader using default arguments and assuming
big-endian byte order. Read moreSource§fn read_le<R>(reader: &mut R) -> Result<Self, Error>
fn read_le<R>(reader: &mut R) -> Result<Self, Error>
Self from the reader using default arguments and assuming
little-endian byte order. Read moreSource§fn read_ne<R>(reader: &mut R) -> Result<Self, Error>
fn read_ne<R>(reader: &mut R) -> Result<Self, Error>
T from the reader assuming native-endian byte order. Read moreSource§fn read_args<R>(reader: &mut R, args: Self::Args<'_>) -> Result<Self, Error>
fn read_args<R>(reader: &mut R, args: Self::Args<'_>) -> Result<Self, Error>
Self from the reader using the given arguments. Read moreSource§fn read_be_args<R>(reader: &mut R, args: Self::Args<'_>) -> Result<Self, Error>
fn read_be_args<R>(reader: &mut R, args: Self::Args<'_>) -> Result<Self, Error>
Self from the reader, assuming big-endian byte order, using the
given arguments. Read moreSource§impl Clone for SqpackFileId
impl Clone for SqpackFileId
Source§fn clone(&self) -> SqpackFileId
fn clone(&self) -> SqpackFileId
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SqpackFileId
impl Debug for SqpackFileId
Source§impl Hash for SqpackFileId
impl Hash for SqpackFileId
Source§impl PartialEq for SqpackFileId
impl PartialEq for SqpackFileId
Source§fn eq(&self, other: &SqpackFileId) -> bool
fn eq(&self, other: &SqpackFileId) -> bool
self and other values to be equal, and is used by ==.Source§impl ReadEndian for SqpackFileId
impl ReadEndian for SqpackFileId
Source§const ENDIAN: EndianKind
const ENDIAN: EndianKind
impl Eq for SqpackFileId
impl StructuralPartialEq for SqpackFileId
Auto Trait Implementations§
impl Freeze for SqpackFileId
impl RefUnwindSafe for SqpackFileId
impl Send for SqpackFileId
impl Sync for SqpackFileId
impl Unpin for SqpackFileId
impl UnsafeUnpin for SqpackFileId
impl UnwindSafe for SqpackFileId
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more