Skip to main content

DPadInput

Struct DPadInput 

Source
pub struct DPadInput { /* private fields */ }
Expand description

A single run-length encoded D-pad input entry from a Mario Kart Wii ghost file.

Each entry records which D-pad button was held and for how many consecutive frames it was held. Frame durations exceeding 255 frames are encoded across two fields: the lower nibble of the first byte stores the number of additional 256-frame intervals, and the second byte stores the remainder.

Implementations§

Source§

impl DPadInput

Source

pub fn button(&self) -> DPadButton

Returns the D-pad button held during this input entry.

Source

pub fn frame_duration(&self) -> u32

Returns the number of frames this D-pad state was held.

Trait Implementations§

Source§

impl Debug for DPadInput

Source§

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

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

impl PartialEq for DPadInput

Two DPadInput values are equal if they share the same button state, regardless of frame duration.

Source§

fn eq(&self, other: &DPadInput) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl TryFrom<&[u8]> for DPadInput

Parses a DPadInput from a 2-byte slice.

§Errors

Returns DPadInputError::InvalidButton if the button bits do not map to a known D-pad direction.

Source§

type Error = DPadInputError

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

fn try_from(value: &[u8]) -> Result<Self, Self::Error>

Performs the conversion.

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.

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> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

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>,

Source§

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.