pub struct Spch {
pub version: u32,
pub slct_offsets: Vec<SlctOffset>,
pub unk4s: Vec<Unk4>,
pub slct_section: Vec<u8>,
pub xv4_section: Vec<u8>,
pub unk_section: Vec<u8>,
pub string_section: Option<StringSection>,
pub unk7: u32,
pub padding: [u32; 4],
}
Expand description
.wishp, embedded in .wismt and .wimdo
Fields§
§version: u32
§slct_offsets: Vec<SlctOffset>
§unk4s: Vec<Unk4>
§slct_section: Vec<u8>
A collection of Slct.
xv4_section: Vec<u8>
Compiled shader binaries. Alternates between vertex and fragment shaders.
unk_section: Vec<u8>
A collection of UnkItem.
string_section: Option<StringSection>
§unk7: u32
§padding: [u32; 4]
Implementations§
Source§impl Spch
impl Spch
Sourcepub fn nvsd_vertex_fragment_binaries(
&self,
slct: &Slct,
) -> Vec<(Nvsd, Option<ShaderBinary>, Option<ShaderBinary>)>
pub fn nvsd_vertex_fragment_binaries( &self, slct: &Slct, ) -> Vec<(Nvsd, Option<ShaderBinary>, Option<ShaderBinary>)>
Extract the Nvsd, vertex binary, and fragment binary for each of the programs in slct
.
Sourcepub fn program_data_vertex_fragment_binaries<'a>(
&self,
slct: &'a Slct,
) -> Vec<(&'a ShaderProgram, Option<ShaderBinary>, Option<ShaderBinary>)>
pub fn program_data_vertex_fragment_binaries<'a>( &self, slct: &'a Slct, ) -> Vec<(&'a ShaderProgram, Option<ShaderBinary>, Option<ShaderBinary>)>
Extract the ShaderProgram, vertex binary, and fragment binary for each of the programs in slct
.
Source§impl Spch
impl Spch
Source§impl Spch
impl Spch
pub fn read<R: Read + Seek>(reader: &mut R) -> BinResult<Self>
Sourcepub fn from_file<P: AsRef<Path>>(path: P) -> Result<Self, ReadFileError>
pub fn from_file<P: AsRef<Path>>(path: P) -> Result<Self, ReadFileError>
Read from path
using a fully buffered reader for performance.
Sourcepub fn from_bytes<T: AsRef<[u8]>>(bytes: T) -> BinResult<Self>
pub fn from_bytes<T: AsRef<[u8]>>(bytes: T) -> BinResult<Self>
Read from bytes
using a fully buffered reader for performance.
Trait Implementations§
Source§impl BinRead for Spch
impl BinRead for Spch
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_be<R>(reader: &mut R) -> Result<Self, Error>
fn read_be<R>(reader: &mut R) -> Result<Self, Error>
Read
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>
Read
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>
Read
T
from the reader assuming native-endian byte order. 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>
Read
Self
from the reader, assuming big-endian byte order, using the
given arguments. Read moreSource§impl Xc3Write for Spch
impl Xc3Write for Spch
Source§type Offsets<'offsets> = SpchOffsets<'offsets>
type Offsets<'offsets> = SpchOffsets<'offsets>
The type storing offset data to be used in Xc3WriteOffsets.
Source§fn xc3_write<W: Write + Seek>(
&self,
writer: &mut W,
endian: Endian,
) -> Xc3Result<Self::Offsets<'_>>
fn xc3_write<W: Write + Seek>( &self, writer: &mut W, endian: Endian, ) -> Xc3Result<Self::Offsets<'_>>
Write all fields and placeholder offsets.
This should almost always be derived for non primitive types. Read more
Source§fn should_write(&self) -> Option<bool>
fn should_write(&self) -> Option<bool>
Return
Some(_)
if the offset should be updated and
Some(true)
if the data should also be written.
Defaults to Some(true)
.impl StructuralPartialEq for Spch
Auto Trait Implementations§
impl Freeze for Spch
impl RefUnwindSafe for Spch
impl Send for Spch
impl Sync for Spch
impl Unpin for Spch
impl UnwindSafe for Spch
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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