Skip to main content

Resolver

Struct Resolver 

Source
pub struct Resolver<'a> { /* private fields */ }
Expand description

Shared ordered resolver.

Implementations§

Source§

impl<'a> Resolver<'a>

Source

pub fn new() -> Self

Creates an empty resolver.

Source

pub fn sources(&self) -> &[ResolverSourceRef<'a>]

Returns all configured source references in precedence order.

Source

pub fn push_source(&mut self, source: ResolverSourceRef<'a>)

Appends one source reference.

Source

pub fn with_source(self, source: ResolverSourceRef<'a>) -> Self

Appends one source and returns self.

Source

pub fn resolve( &self, resref: &ResRef, resource_type: ResourceTypeCode, ) -> Option<ResolverResult<'_>>

Resolves one resource using configured source precedence.

Source

pub fn resolve_texture_with_txi( &self, resref: &ResRef, texture_type: ResourceTypeCode, ) -> Option<TextureWithTxiResult<'_>>

Resolves one texture resource and optional TXI sidecar.

Resolution behavior:

  1. Resolve the texture using normal source precedence.
  2. Resolve TXI with the same resref using independent global source precedence (not bound to the texture’s winning source).

If texture resolution fails, returns None even if a TXI exists.

Source

pub fn resolve_texture_with_txi_raw( &self, resref: &str, texture_type_id: u16, ) -> Result<Option<TextureWithTxiResult<'_>>, ResolverError>

Resolves one texture and optional TXI sidecar from raw query values.

Source

pub fn resolve_tpc_with_txi_handoff( &self, resref: &ResRef, ) -> Result<Option<TpcWithTxiHandoffResult<'_>>, TpcHandoffError>

Resolves one TPC resource, parses it, and returns handoff-ready container parts plus an optional external TXI sidecar.

Source

pub fn resolve_tpc_with_txi_handoff_raw( &self, resref: &str, ) -> Result<Option<TpcWithTxiHandoffResult<'_>>, TpcHandoffError>

Resolves one TPC resource and optional TXI sidecar from a raw query resref, returning parsed handoff-ready container parts.

Source

pub fn resolve_mdl_with_mdx( &self, resref: &ResRef, ) -> Option<MdlWithMdxResult<'_>>

Resolves one MDL model resource and optional MDX vertex data companion.

Resolution behavior:

  1. Resolve the MDL using normal source precedence.
  2. Resolve MDX with the same resref using independent global source precedence (not bound to the MDL’s winning source).

If MDL resolution fails, returns None even if an MDX exists.

Source

pub fn resolve_mdl_with_mdx_raw( &self, resref: &str, ) -> Result<Option<MdlWithMdxResult<'_>>, ResolverError>

Resolves one MDL model and optional MDX companion from raw query values.

Source

pub fn resolve_mdl_with_mdx_handoff( &self, resref: &ResRef, ) -> Result<Option<MdlWithMdxHandoffResult<'_>>, MdlHandoffError>

Resolves one MDL model resource, parses it (with MDX vertex data if available), and returns a handoff-ready parsed model.

Source

pub fn resolve_mdl_with_mdx_handoff_raw( &self, resref: &str, ) -> Result<Option<MdlWithMdxHandoffResult<'_>>, MdlHandoffError>

Resolves one MDL model and optional MDX companion from a raw query resref, returning a parsed handoff-ready model.

Trait Implementations§

Source§

impl<'a> Clone for Resolver<'a>

Source§

fn clone(&self) -> Resolver<'a>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'a> Debug for Resolver<'a>

Source§

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

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

impl<'a> Default for Resolver<'a>

Source§

fn default() -> Resolver<'a>

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for Resolver<'a>

§

impl<'a> RefUnwindSafe for Resolver<'a>

§

impl<'a> Send for Resolver<'a>

§

impl<'a> Sync for Resolver<'a>

§

impl<'a> Unpin for Resolver<'a>

§

impl<'a> UnsafeUnpin for Resolver<'a>

§

impl<'a> UnwindSafe for Resolver<'a>

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

Source§

fn az<Dst>(self) -> Dst
where T: Cast<Dst>,

Casts the value.
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<Src, Dst> CastFrom<Src> for Dst
where Src: Cast<Dst>,

Source§

fn cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> CheckedAs for T

Source§

fn checked_as<Dst>(self) -> Option<Dst>
where T: CheckedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> CheckedCastFrom<Src> for Dst
where Src: CheckedCast<Dst>,

Source§

fn checked_cast_from(src: Src) -> Option<Dst>

Casts the value.
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> OverflowingAs for T

Source§

fn overflowing_as<Dst>(self) -> (Dst, bool)
where T: OverflowingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> OverflowingCastFrom<Src> for Dst
where Src: OverflowingCast<Dst>,

Source§

fn overflowing_cast_from(src: Src) -> (Dst, bool)

Casts the value.
Source§

impl<T> SaturatingAs for T

Source§

fn saturating_as<Dst>(self) -> Dst
where T: SaturatingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> SaturatingCastFrom<Src> for Dst
where Src: SaturatingCast<Dst>,

Source§

fn saturating_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> StrictAs for T

Source§

fn strict_as<Dst>(self) -> Dst
where T: StrictCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> StrictCastFrom<Src> for Dst
where Src: StrictCast<Dst>,

Source§

fn strict_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.
Source§

impl<T> UnwrappedAs for T

Source§

fn unwrapped_as<Dst>(self) -> Dst
where T: UnwrappedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> UnwrappedCastFrom<Src> for Dst
where Src: UnwrappedCast<Dst>,

Source§

fn unwrapped_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> WrappingAs for T

Source§

fn wrapping_as<Dst>(self) -> Dst
where T: WrappingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> WrappingCastFrom<Src> for Dst
where Src: WrappingCast<Dst>,

Source§

fn wrapping_cast_from(src: Src) -> Dst

Casts the value.