pub struct Entry { /* private fields */ }Expand description
Represents a single animation table entry mapping a skeleton to fragments.
Each entry defines an animation set for a specific skeleton type. Entries can reference mount tables for cavalry/mounted units and contain lists of animation fragments that apply to this skeleton configuration.
§Fields
table_name: Logical name of this animation table (e.g., “humanoid01_animations”)skeleton_type: Skeleton identifier this entry applies to (e.g., “humanoid01”)mount_table_name: Reference to mount table for mounted units (empty for infantry)fragments: List of animation fragment referencesuk_6: Unknown boolean flag (purpose unclear)uk_7: Unknown boolean flag (purpose unclear)
§Mount Tables
For mounted units (cavalry, chariots, monsters with riders), mount_table_name
references another animation table that defines the mount’s animations. Infantry
units leave this field empty.
§Example
// Infantry entry
let mut infantry = Entry::default();
infantry.set_table_name("hu1_animations".to_string());
infantry.set_skeleton_type("humanoid01".to_string());
infantry.set_mount_table_name(String::new());
// Cavalry entry
let mut cavalry = Entry::default();
cavalry.set_table_name("cav_animations".to_string());
cavalry.set_skeleton_type("humanoid01".to_string());
cavalry.set_mount_table_name("horse_animations".to_string());Implementations§
Source§impl Entry
impl Entry
Sourcepub fn table_name(&self) -> &String
pub fn table_name(&self) -> &String
Logical name of this animation table.
Used as an identifier for this animation set (e.g., “humanoid01_animations”).
FIXME: This is possibly not table_name, but skeleton_type, and skeleton_type is possibly skeleton_type_cinematic.
Sourcepub fn skeleton_type(&self) -> &String
pub fn skeleton_type(&self) -> &String
Skeleton type identifier.
Specifies which skeleton this entry’s animations apply to (e.g., “humanoid01”, “cavalry”, “monster”).
Sourcepub fn mount_table_name(&self) -> &String
pub fn mount_table_name(&self) -> &String
Mount table reference for mounted units.
For cavalry/mounted units, this references the animation table for the mount (e.g., “horse_animations”). Empty string for infantry/unmounted units.
Sourcepub fn fragments(&self) -> &Vec<Fragment>
pub fn fragments(&self) -> &Vec<Fragment>
List of animation fragments for this skeleton.
Each fragment references an animation file and associated metadata.
Source§impl Entry
impl Entry
Sourcepub fn set_table_name(&mut self, val: String) -> &mut Self
pub fn set_table_name(&mut self, val: String) -> &mut Self
Logical name of this animation table.
Used as an identifier for this animation set (e.g., “humanoid01_animations”).
FIXME: This is possibly not table_name, but skeleton_type, and skeleton_type is possibly skeleton_type_cinematic.
Sourcepub fn set_skeleton_type(&mut self, val: String) -> &mut Self
pub fn set_skeleton_type(&mut self, val: String) -> &mut Self
Skeleton type identifier.
Specifies which skeleton this entry’s animations apply to (e.g., “humanoid01”, “cavalry”, “monster”).
Sourcepub fn set_mount_table_name(&mut self, val: String) -> &mut Self
pub fn set_mount_table_name(&mut self, val: String) -> &mut Self
Mount table reference for mounted units.
For cavalry/mounted units, this references the animation table for the mount (e.g., “horse_animations”). Empty string for infantry/unmounted units.
Sourcepub fn set_fragments(&mut self, val: Vec<Fragment>) -> &mut Self
pub fn set_fragments(&mut self, val: Vec<Fragment>) -> &mut Self
List of animation fragments for this skeleton.
Each fragment references an animation file and associated metadata.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Entry
impl<'de> Deserialize<'de> for Entry
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl StructuralPartialEq for Entry
Auto Trait Implementations§
impl Freeze for Entry
impl RefUnwindSafe for Entry
impl Send for Entry
impl Sync for Entry
impl Unpin for Entry
impl UnsafeUnpin for Entry
impl UnwindSafe for Entry
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> 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§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.