#[repr(C)]
pub struct CharacterData {
Show 29 fields pub version: u32, pub checksum: u32, pub race: Race, pub gender: Gender, pub age: u8, pub height: u8, pub subrace: Subrace, pub head: u8, pub hair: u8, pub enable_highlights: bool, pub skin_tone: u8, pub right_eye_color: u8, pub hair_tone: u8, pub highlights: u8, pub facial_features: u8, pub limbal_eyes: u8, pub eyebrows: u8, pub left_eye_color: u8, pub eyes: u8, pub nose: u8, pub jaw: u8, pub mouth: u8, pub lips_tone_fur_pattern: u8, pub tail: u8, pub face_paint: u8, pub bust: u8, pub face_paint_color: u8, pub voice: u8, pub timestamp: [u8; 4],
}
Expand description

Represents the several options that make up a character data file (DAT) which is used by the game’s character creation system to save and load presets.

Fields§

§version: u32

The version of the character data, the only supported version right now is 4.

§checksum: u32

The checksum of the data fields.

§race: Race

The race of the character.

§gender: Gender

The gender of the character.

§age: u8

The age of the character. Normal = 1, Old = 3, Young = 4.

§height: u8

The height of the character.

§subrace: Subrace

The character’s subrace.

§head: u8

The character’s selected head.

§hair: u8

The character’s selected hair.

§enable_highlights: bool

If hair highlights are enabled for this character.

§skin_tone: u8

The character’s skin tone.

§right_eye_color: u8

The character’s right eye color.

§hair_tone: u8

The character’s hair color.

§highlights: u8

The color of the hair highlights.

§facial_features: u8

The selected facial features.

§limbal_eyes: u8

If the character has limbal eyes.

§eyebrows: u8

The character’s selected eyebrows.

§left_eye_color: u8

The character’s left eye color.

§eyes: u8

The character’s selected eyes.

§nose: u8

The character’s selected nose.

§jaw: u8

The character’s selected jaw.

§mouth: u8

The character’s selected mouth.

§lips_tone_fur_pattern: u8

The character’s selected pattern.

§tail: u8

The character’s selected tail.

§face_paint: u8

The character’s choice of face paint.

§bust: u8

The size of the character’s bust.

§face_paint_color: u8

The color of the face paint.

§voice: u8

The character’s chosen voice.

§timestamp: [u8; 4]

The timestamp when the preset was created.

Implementations§

source§

impl CharacterData

source

pub fn from_existing(buffer: ByteSpan<'_>) -> Option<CharacterData>

Parses existing character data.

source

pub fn write_to_buffer(&self) -> Option<ByteBuffer>

Write existing character data to a buffer.

Trait Implementations§

source§

impl BinRead for CharacterData

§

type Args<'__binrw_generated_args_lifetime> = ()

The type used for the args parameter of read_args() and read_options(). Read more
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>

Read Self from the reader using the given [Endian] and arguments. Read more
§

fn read<R>(reader: &mut R) -> Result<Self, Error>
where R: Read + Seek, Self: ReadEndian, Self::Args<'a>: for<'a> Required,

Read Self from the reader using default arguments. Read more
§

fn read_be<R>(reader: &mut R) -> Result<Self, Error>
where R: Read + Seek, Self::Args<'a>: for<'a> Required,

Read Self from the reader using default arguments and assuming big-endian byte order. Read more
§

fn read_le<R>(reader: &mut R) -> Result<Self, Error>
where R: Read + Seek, Self::Args<'a>: for<'a> Required,

Read Self from the reader using default arguments and assuming little-endian byte order. Read more
§

fn read_ne<R>(reader: &mut R) -> Result<Self, Error>
where R: Read + Seek, Self::Args<'a>: for<'a> Required,

Read T from the reader assuming native-endian byte order. Read more
§

fn read_args<R>(reader: &mut R, args: Self::Args<'_>) -> Result<Self, Error>
where R: Read + Seek, Self: ReadEndian,

Read Self from the reader using the given arguments. Read more
§

fn read_be_args<R>(reader: &mut R, args: Self::Args<'_>) -> Result<Self, Error>
where R: Read + Seek,

Read Self from the reader, assuming big-endian byte order, using the given arguments. Read more
§

fn read_le_args<R>(reader: &mut R, args: Self::Args<'_>) -> Result<Self, Error>
where R: Read + Seek,

Read Self from the reader, assuming little-endian byte order, using the given arguments. Read more
§

fn read_ne_args<R>(reader: &mut R, args: Self::Args<'_>) -> Result<Self, Error>
where R: Read + Seek,

Read T from the reader, assuming native-endian byte order, using the given arguments. Read more
source§

impl BinWrite for CharacterData

§

type Args<'__binrw_generated_args_lifetime> = ()

The type used for the args parameter of write_args() and write_options(). Read more
source§

fn write_options<W: Write + Seek>( &self, __binrw_generated_var_writer: &mut W, __binrw_generated_var_endian: Endian, __binrw_generated_var_arguments: Self::Args<'_> ) -> BinResult<()>

Write Self to the writer using the given [Endian] and arguments. Read more
§

fn write_be<W>(&self, writer: &mut W) -> Result<(), Error>
where W: Write + Seek, Self::Args<'a>: for<'a> Required,

Write Self to the writer assuming big-endian byte order. Read more
§

fn write_le<W>(&self, writer: &mut W) -> Result<(), Error>
where W: Write + Seek, Self::Args<'a>: for<'a> Required,

Write Self to the writer assuming little-endian byte order. Read more
§

fn write_be_args<W>( &self, writer: &mut W, args: Self::Args<'_> ) -> Result<(), Error>
where W: Write + Seek,

Write Self to the writer, assuming big-endian byte order, using the given arguments. Read more
§

fn write_le_args<W>( &self, writer: &mut W, args: Self::Args<'_> ) -> Result<(), Error>
where W: Write + Seek,

Write Self to the writer, assuming little-endian byte order, using the given arguments. Read more
source§

impl Debug for CharacterData

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl ReadEndian for CharacterData

source§

const ENDIAN: EndianKind = _

The endianness of the type.
source§

impl ReadMagic for CharacterData

§

type MagicType = u32

The type of the magic number.
source§

const MAGIC: Self::MagicType = {transmute(0x2013ff14): <chardat::CharacterData as binrw::meta::ReadMagic>::MagicType}

The magic number.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more