pub struct Model { /* private fields */ }Expand description
MODL — Model root chunk (v23–v30, 784–868 bytes)
The root of all model data. Contains Ref<T> fields pointing to every sub-chunk in the file: skeleton, mesh, materials, particles, physics, etc. The preamble (bytes 0x000–0x0E3) is identical across all versions; version-dependent material and physics references follow at 0x0E4+.
Version history: - v23 (784 bytes): Base release layout - v24 (+ikCCD): 796 bytes - v25 (+volumeNoiseMaterials): 808 bytes - v26 (+stbMaterials): 820 bytes - v28 (+reflectionMaterials, +clothPhysics): 844 bytes - v29 (+lensFlareMaterials): 856 bytes - v30 (+materialAddData): 868 bytes
Implementations§
Source§impl Model
impl Model
pub fn set_name(&mut self, value: &str)
pub fn set_flags(&mut self, value: ModelFlag)
Sourcepub fn sequences_len(&self) -> usize
pub fn sequences_len(&self) -> usize
Animation sequences (SEQS)
Sourcepub fn sequences(&self, index: usize) -> Option<Ref<'_, Sequence>>
pub fn sequences(&self, index: usize) -> Option<Ref<'_, Sequence>>
Borrows element index in place. None when out of range.
pub fn sequences_mut(&mut self, index: usize) -> Option<RefMut<'_, Sequence>>
Sourcepub fn sequences_iter(&self) -> impl ExactSizeIterator<Item = Ref<'_, Sequence>>
pub fn sequences_iter(&self) -> impl ExactSizeIterator<Item = Ref<'_, Sequence>>
Iterate the elements, borrowing each in turn.
pub fn resize_sequences(&mut self, count: usize)
Sourcepub fn sub_track_collections_len(&self) -> usize
pub fn sub_track_collections_len(&self) -> usize
Sub-track containers (STC_) with keyframe refs
Sourcepub fn sub_track_collections(
&self,
index: usize,
) -> Option<Ref<'_, SubTrackContainer>>
pub fn sub_track_collections( &self, index: usize, ) -> Option<Ref<'_, SubTrackContainer>>
Borrows element index in place. None when out of range.
pub fn sub_track_collections_mut( &mut self, index: usize, ) -> Option<RefMut<'_, SubTrackContainer>>
Sourcepub fn sub_track_collections_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, SubTrackContainer>>
pub fn sub_track_collections_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, SubTrackContainer>>
Iterate the elements, borrowing each in turn.
pub fn resize_sub_track_collections(&mut self, count: usize)
Sourcepub fn animation_groups_len(&self) -> usize
pub fn animation_groups_len(&self) -> usize
Animation groups (STG_)
Sourcepub fn animation_groups(&self, index: usize) -> Option<Ref<'_, AnimationGroup>>
pub fn animation_groups(&self, index: usize) -> Option<Ref<'_, AnimationGroup>>
Borrows element index in place. None when out of range.
pub fn animation_groups_mut( &mut self, index: usize, ) -> Option<RefMut<'_, AnimationGroup>>
Sourcepub fn animation_groups_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, AnimationGroup>>
pub fn animation_groups_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, AnimationGroup>>
Iterate the elements, borrowing each in turn.
pub fn resize_animation_groups(&mut self, count: usize)
Sourcepub fn bone_animation_sets_len(&self) -> usize
pub fn bone_animation_sets_len(&self) -> usize
Bone animation sets (BSET, always null)
Sourcepub fn bone_animation_sets(
&self,
index: usize,
) -> Option<Ref<'_, BoneAnimationSet>>
pub fn bone_animation_sets( &self, index: usize, ) -> Option<Ref<'_, BoneAnimationSet>>
Borrows element index in place. None when out of range.
pub fn bone_animation_sets_mut( &mut self, index: usize, ) -> Option<RefMut<'_, BoneAnimationSet>>
Sourcepub fn bone_animation_sets_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, BoneAnimationSet>>
pub fn bone_animation_sets_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, BoneAnimationSet>>
Iterate the elements, borrowing each in turn.
pub fn resize_bone_animation_sets(&mut self, count: usize)
Sourcepub fn animation_split_count(&self) -> u32
pub fn animation_split_count(&self) -> u32
Always 0
pub fn set_animation_split_count(&mut self, value: u32)
Sourcepub fn animation_states_len(&self) -> usize
pub fn animation_states_len(&self) -> usize
Animation states (STS_)
Sourcepub fn animation_states(&self, index: usize) -> Option<Ref<'_, AnimationState>>
pub fn animation_states(&self, index: usize) -> Option<Ref<'_, AnimationState>>
Borrows element index in place. None when out of range.
pub fn animation_states_mut( &mut self, index: usize, ) -> Option<RefMut<'_, AnimationState>>
Sourcepub fn animation_states_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, AnimationState>>
pub fn animation_states_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, AnimationState>>
Iterate the elements, borrowing each in turn.
pub fn resize_animation_states(&mut self, count: usize)
Sourcepub fn bones(&self, index: usize) -> Option<Ref<'_, Bone>>
pub fn bones(&self, index: usize) -> Option<Ref<'_, Bone>>
Borrows element index in place. None when out of range.
pub fn bones_mut(&mut self, index: usize) -> Option<RefMut<'_, Bone>>
Sourcepub fn bones_iter(&self) -> impl ExactSizeIterator<Item = Ref<'_, Bone>>
pub fn bones_iter(&self) -> impl ExactSizeIterator<Item = Ref<'_, Bone>>
Iterate the elements, borrowing each in turn.
pub fn resize_bones(&mut self, count: usize)
Sourcepub fn skin_bone_count(&self) -> u32
pub fn skin_bone_count(&self) -> u32
Number of bones affecting skin
pub fn set_skin_bone_count(&mut self, value: u32)
Sourcepub fn divisions_len(&self) -> usize
pub fn divisions_len(&self) -> usize
Mesh divisions (DIV_: faces, regions, batches)
Sourcepub fn divisions(&self, index: usize) -> Option<Ref<'_, MeshDivision>>
pub fn divisions(&self, index: usize) -> Option<Ref<'_, MeshDivision>>
Borrows element index in place. None when out of range.
pub fn divisions_mut( &mut self, index: usize, ) -> Option<RefMut<'_, MeshDivision>>
Sourcepub fn divisions_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, MeshDivision>>
pub fn divisions_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, MeshDivision>>
Iterate the elements, borrowing each in turn.
pub fn resize_divisions(&mut self, count: usize)
Sourcepub fn bone_lookup(&self) -> &[u16]
pub fn bone_lookup(&self) -> &[u16]
Bone index remap table (U16_)
Zero-copy view of the underlying std::vector.
Sourcepub fn bone_lookup_mut(&mut self) -> &mut [u16]
pub fn bone_lookup_mut(&mut self) -> &mut [u16]
Zero-copy mutable view. Resize first — the borrow forbids it after.
pub fn set_bone_lookup(&mut self, values: &[u16])
pub fn resize_bone_lookup(&mut self, count: usize)
Sourcepub fn bounds(&self) -> Ref<'_, Extent>
pub fn bounds(&self) -> Ref<'_, Extent>
Model bounding volume Borrows the field in place — no copy, no allocation.
pub fn bounds_mut(&mut self) -> RefMut<'_, Extent>
Sourcepub fn collision_bounds(&self) -> Ref<'_, Extent>
pub fn collision_bounds(&self) -> Ref<'_, Extent>
Collision bounding volume Borrows the field in place — no copy, no allocation.
pub fn collision_bounds_mut(&mut self) -> RefMut<'_, Extent>
Sourcepub fn collision_faces(&self) -> &[u16]
pub fn collision_faces(&self) -> &[u16]
Collision triangle indices (U16_)
Zero-copy view of the underlying std::vector.
Sourcepub fn collision_faces_mut(&mut self) -> &mut [u16]
pub fn collision_faces_mut(&mut self) -> &mut [u16]
Zero-copy mutable view. Resize first — the borrow forbids it after.
pub fn set_collision_faces(&mut self, values: &[u16])
pub fn resize_collision_faces(&mut self, count: usize)
Sourcepub fn collision_verts(&self) -> &[Vector3f]
pub fn collision_verts(&self) -> &[Vector3f]
Collision vertex positions (VEC3)
Zero-copy view of the underlying std::vector.
Sourcepub fn collision_verts_mut(&mut self) -> &mut [Vector3f]
pub fn collision_verts_mut(&mut self) -> &mut [Vector3f]
Zero-copy mutable view. Resize first — the borrow forbids it after.
pub fn set_collision_verts(&mut self, values: &[Vector3f])
pub fn resize_collision_verts(&mut self, count: usize)
Sourcepub fn collision_normals(&self) -> &[Vector3f]
pub fn collision_normals(&self) -> &[Vector3f]
Collision face normals (VEC3)
Zero-copy view of the underlying std::vector.
Sourcepub fn collision_normals_mut(&mut self) -> &mut [Vector3f]
pub fn collision_normals_mut(&mut self) -> &mut [Vector3f]
Zero-copy mutable view. Resize first — the borrow forbids it after.
pub fn set_collision_normals(&mut self, values: &[Vector3f])
pub fn resize_collision_normals(&mut self, count: usize)
Sourcepub fn attachment_points_len(&self) -> usize
pub fn attachment_points_len(&self) -> usize
Named bone locations (ATT_)
Sourcepub fn attachment_points(
&self,
index: usize,
) -> Option<Ref<'_, AttachmentPoint>>
pub fn attachment_points( &self, index: usize, ) -> Option<Ref<'_, AttachmentPoint>>
Borrows element index in place. None when out of range.
pub fn attachment_points_mut( &mut self, index: usize, ) -> Option<RefMut<'_, AttachmentPoint>>
Sourcepub fn attachment_points_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, AttachmentPoint>>
pub fn attachment_points_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, AttachmentPoint>>
Iterate the elements, borrowing each in turn.
pub fn resize_attachment_points(&mut self, count: usize)
Sourcepub fn attachment_point_addons(&self) -> &[u16]
pub fn attachment_point_addons(&self) -> &[u16]
Attachment point addon indices (U16_)
Zero-copy view of the underlying std::vector.
Sourcepub fn attachment_point_addons_mut(&mut self) -> &mut [u16]
pub fn attachment_point_addons_mut(&mut self) -> &mut [u16]
Zero-copy mutable view. Resize first — the borrow forbids it after.
pub fn set_attachment_point_addons(&mut self, values: &[u16])
pub fn resize_attachment_point_addons(&mut self, count: usize)
Sourcepub fn lights_len(&self) -> usize
pub fn lights_len(&self) -> usize
Lights (LITE)
Sourcepub fn lights(&self, index: usize) -> Option<Ref<'_, Light>>
pub fn lights(&self, index: usize) -> Option<Ref<'_, Light>>
Borrows element index in place. None when out of range.
pub fn lights_mut(&mut self, index: usize) -> Option<RefMut<'_, Light>>
Sourcepub fn lights_iter(&self) -> impl ExactSizeIterator<Item = Ref<'_, Light>>
pub fn lights_iter(&self) -> impl ExactSizeIterator<Item = Ref<'_, Light>>
Iterate the elements, borrowing each in turn.
pub fn resize_lights(&mut self, count: usize)
Sourcepub fn shadow_boxes_len(&self) -> usize
pub fn shadow_boxes_len(&self) -> usize
Shadow boxes (SHBX)
Sourcepub fn shadow_boxes(&self, index: usize) -> Option<Ref<'_, ShadowBox>>
pub fn shadow_boxes(&self, index: usize) -> Option<Ref<'_, ShadowBox>>
Borrows element index in place. None when out of range.
pub fn shadow_boxes_mut( &mut self, index: usize, ) -> Option<RefMut<'_, ShadowBox>>
Sourcepub fn shadow_boxes_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, ShadowBox>>
pub fn shadow_boxes_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, ShadowBox>>
Iterate the elements, borrowing each in turn.
pub fn resize_shadow_boxes(&mut self, count: usize)
Sourcepub fn cameras_len(&self) -> usize
pub fn cameras_len(&self) -> usize
Cameras (CAM_)
Sourcepub fn cameras(&self, index: usize) -> Option<Ref<'_, Camera>>
pub fn cameras(&self, index: usize) -> Option<Ref<'_, Camera>>
Borrows element index in place. None when out of range.
pub fn cameras_mut(&mut self, index: usize) -> Option<RefMut<'_, Camera>>
Sourcepub fn cameras_iter(&self) -> impl ExactSizeIterator<Item = Ref<'_, Camera>>
pub fn cameras_iter(&self) -> impl ExactSizeIterator<Item = Ref<'_, Camera>>
Iterate the elements, borrowing each in turn.
pub fn resize_cameras(&mut self, count: usize)
Sourcepub fn cameras_addons(&self) -> &[u16]
pub fn cameras_addons(&self) -> &[u16]
Camera addon indices (U16_)
Zero-copy view of the underlying std::vector.
Sourcepub fn cameras_addons_mut(&mut self) -> &mut [u16]
pub fn cameras_addons_mut(&mut self) -> &mut [u16]
Zero-copy mutable view. Resize first — the borrow forbids it after.
pub fn set_cameras_addons(&mut self, values: &[u16])
pub fn resize_cameras_addons(&mut self, count: usize)
Sourcepub fn material_maps_len(&self) -> usize
pub fn material_maps_len(&self) -> usize
Material type+index maps (MATM)
Sourcepub fn material_maps(&self, index: usize) -> Option<Ref<'_, MaterialMap>>
pub fn material_maps(&self, index: usize) -> Option<Ref<'_, MaterialMap>>
Borrows element index in place. None when out of range.
pub fn material_maps_mut( &mut self, index: usize, ) -> Option<RefMut<'_, MaterialMap>>
Sourcepub fn material_maps_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, MaterialMap>>
pub fn material_maps_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, MaterialMap>>
Iterate the elements, borrowing each in turn.
pub fn resize_material_maps(&mut self, count: usize)
Sourcepub fn standard_materials_len(&self) -> usize
pub fn standard_materials_len(&self) -> usize
Standard materials (MAT_)
Sourcepub fn standard_materials(
&self,
index: usize,
) -> Option<Ref<'_, StandardMaterial>>
pub fn standard_materials( &self, index: usize, ) -> Option<Ref<'_, StandardMaterial>>
Borrows element index in place. None when out of range.
pub fn standard_materials_mut( &mut self, index: usize, ) -> Option<RefMut<'_, StandardMaterial>>
Sourcepub fn standard_materials_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, StandardMaterial>>
pub fn standard_materials_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, StandardMaterial>>
Iterate the elements, borrowing each in turn.
pub fn resize_standard_materials(&mut self, count: usize)
Sourcepub fn displacement_materials_len(&self) -> usize
pub fn displacement_materials_len(&self) -> usize
Displacement materials (DIS_)
Sourcepub fn displacement_materials(
&self,
index: usize,
) -> Option<Ref<'_, DisplacementMaterial>>
pub fn displacement_materials( &self, index: usize, ) -> Option<Ref<'_, DisplacementMaterial>>
Borrows element index in place. None when out of range.
pub fn displacement_materials_mut( &mut self, index: usize, ) -> Option<RefMut<'_, DisplacementMaterial>>
Sourcepub fn displacement_materials_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, DisplacementMaterial>>
pub fn displacement_materials_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, DisplacementMaterial>>
Iterate the elements, borrowing each in turn.
pub fn resize_displacement_materials(&mut self, count: usize)
Sourcepub fn composite_materials_len(&self) -> usize
pub fn composite_materials_len(&self) -> usize
Composite materials (CMP_)
Sourcepub fn composite_materials(
&self,
index: usize,
) -> Option<Ref<'_, CompositeMaterial>>
pub fn composite_materials( &self, index: usize, ) -> Option<Ref<'_, CompositeMaterial>>
Borrows element index in place. None when out of range.
pub fn composite_materials_mut( &mut self, index: usize, ) -> Option<RefMut<'_, CompositeMaterial>>
Sourcepub fn composite_materials_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, CompositeMaterial>>
pub fn composite_materials_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, CompositeMaterial>>
Iterate the elements, borrowing each in turn.
pub fn resize_composite_materials(&mut self, count: usize)
Sourcepub fn terrain_materials_len(&self) -> usize
pub fn terrain_materials_len(&self) -> usize
Terrain materials (TER_)
Sourcepub fn terrain_materials(
&self,
index: usize,
) -> Option<Ref<'_, TerrainMaterial>>
pub fn terrain_materials( &self, index: usize, ) -> Option<Ref<'_, TerrainMaterial>>
Borrows element index in place. None when out of range.
pub fn terrain_materials_mut( &mut self, index: usize, ) -> Option<RefMut<'_, TerrainMaterial>>
Sourcepub fn terrain_materials_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, TerrainMaterial>>
pub fn terrain_materials_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, TerrainMaterial>>
Iterate the elements, borrowing each in turn.
pub fn resize_terrain_materials(&mut self, count: usize)
Sourcepub fn volume_materials_len(&self) -> usize
pub fn volume_materials_len(&self) -> usize
Volume materials (VOL_)
Sourcepub fn volume_materials(&self, index: usize) -> Option<Ref<'_, VolumeMaterial>>
pub fn volume_materials(&self, index: usize) -> Option<Ref<'_, VolumeMaterial>>
Borrows element index in place. None when out of range.
pub fn volume_materials_mut( &mut self, index: usize, ) -> Option<RefMut<'_, VolumeMaterial>>
Sourcepub fn volume_materials_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, VolumeMaterial>>
pub fn volume_materials_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, VolumeMaterial>>
Iterate the elements, borrowing each in turn.
pub fn resize_volume_materials(&mut self, count: usize)
Sourcepub fn hair_materials_len(&self) -> usize
pub fn hair_materials_len(&self) -> usize
Hair materials (HAI_, defunct — always null)
Sourcepub fn hair_materials(&self, index: usize) -> Option<Ref<'_, HairMaterial>>
pub fn hair_materials(&self, index: usize) -> Option<Ref<'_, HairMaterial>>
Borrows element index in place. None when out of range.
pub fn hair_materials_mut( &mut self, index: usize, ) -> Option<RefMut<'_, HairMaterial>>
Sourcepub fn hair_materials_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, HairMaterial>>
pub fn hair_materials_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, HairMaterial>>
Iterate the elements, borrowing each in turn.
pub fn resize_hair_materials(&mut self, count: usize)
Sourcepub fn creep_materials_len(&self) -> usize
pub fn creep_materials_len(&self) -> usize
Creep materials (CREP)
Sourcepub fn creep_materials(&self, index: usize) -> Option<Ref<'_, CreepMaterial>>
pub fn creep_materials(&self, index: usize) -> Option<Ref<'_, CreepMaterial>>
Borrows element index in place. None when out of range.
pub fn creep_materials_mut( &mut self, index: usize, ) -> Option<RefMut<'_, CreepMaterial>>
Sourcepub fn creep_materials_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, CreepMaterial>>
pub fn creep_materials_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, CreepMaterial>>
Iterate the elements, borrowing each in turn.
pub fn resize_creep_materials(&mut self, count: usize)
Sourcepub fn volume_noise_materials_len(&self) -> usize
pub fn volume_noise_materials_len(&self) -> usize
Volume noise materials (VON_, v25+)
Sourcepub fn volume_noise_materials(
&self,
index: usize,
) -> Option<Ref<'_, VolumeNoiseMaterial>>
pub fn volume_noise_materials( &self, index: usize, ) -> Option<Ref<'_, VolumeNoiseMaterial>>
Borrows element index in place. None when out of range.
pub fn volume_noise_materials_mut( &mut self, index: usize, ) -> Option<RefMut<'_, VolumeNoiseMaterial>>
Sourcepub fn volume_noise_materials_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, VolumeNoiseMaterial>>
pub fn volume_noise_materials_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, VolumeNoiseMaterial>>
Iterate the elements, borrowing each in turn.
pub fn resize_volume_noise_materials(&mut self, count: usize)
Sourcepub fn stb_materials_len(&self) -> usize
pub fn stb_materials_len(&self) -> usize
Splat terrain bake materials (STBM, v26+)
Sourcepub fn stb_materials(&self, index: usize) -> Option<Ref<'_, STBMaterial>>
pub fn stb_materials(&self, index: usize) -> Option<Ref<'_, STBMaterial>>
Borrows element index in place. None when out of range.
pub fn stb_materials_mut( &mut self, index: usize, ) -> Option<RefMut<'_, STBMaterial>>
Sourcepub fn stb_materials_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, STBMaterial>>
pub fn stb_materials_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, STBMaterial>>
Iterate the elements, borrowing each in turn.
pub fn resize_stb_materials(&mut self, count: usize)
Sourcepub fn reflection_materials_len(&self) -> usize
pub fn reflection_materials_len(&self) -> usize
Reflection materials (REF_, v28+)
Sourcepub fn reflection_materials(
&self,
index: usize,
) -> Option<Ref<'_, ReflectionMaterial>>
pub fn reflection_materials( &self, index: usize, ) -> Option<Ref<'_, ReflectionMaterial>>
Borrows element index in place. None when out of range.
pub fn reflection_materials_mut( &mut self, index: usize, ) -> Option<RefMut<'_, ReflectionMaterial>>
Sourcepub fn reflection_materials_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, ReflectionMaterial>>
pub fn reflection_materials_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, ReflectionMaterial>>
Iterate the elements, borrowing each in turn.
pub fn resize_reflection_materials(&mut self, count: usize)
Sourcepub fn lens_flare_materials_len(&self) -> usize
pub fn lens_flare_materials_len(&self) -> usize
Lens flare materials (LFLR, v29+)
Sourcepub fn lens_flare_materials(&self, index: usize) -> Option<Ref<'_, LensFlare>>
pub fn lens_flare_materials(&self, index: usize) -> Option<Ref<'_, LensFlare>>
Borrows element index in place. None when out of range.
pub fn lens_flare_materials_mut( &mut self, index: usize, ) -> Option<RefMut<'_, LensFlare>>
Sourcepub fn lens_flare_materials_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, LensFlare>>
pub fn lens_flare_materials_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, LensFlare>>
Iterate the elements, borrowing each in turn.
pub fn resize_lens_flare_materials(&mut self, count: usize)
Sourcepub fn material_add_data_len(&self) -> usize
pub fn material_add_data_len(&self) -> usize
Buffer material data (MADD, v30+)
Sourcepub fn material_add_data(
&self,
index: usize,
) -> Option<Ref<'_, MaterialAddData>>
pub fn material_add_data( &self, index: usize, ) -> Option<Ref<'_, MaterialAddData>>
Borrows element index in place. None when out of range.
pub fn material_add_data_mut( &mut self, index: usize, ) -> Option<RefMut<'_, MaterialAddData>>
Sourcepub fn material_add_data_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, MaterialAddData>>
pub fn material_add_data_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, MaterialAddData>>
Iterate the elements, borrowing each in turn.
pub fn resize_material_add_data(&mut self, count: usize)
Sourcepub fn particle_emitters_len(&self) -> usize
pub fn particle_emitters_len(&self) -> usize
Particle emitters (PAR_)
Sourcepub fn particle_emitters(
&self,
index: usize,
) -> Option<Ref<'_, ParticleEmitter>>
pub fn particle_emitters( &self, index: usize, ) -> Option<Ref<'_, ParticleEmitter>>
Borrows element index in place. None when out of range.
pub fn particle_emitters_mut( &mut self, index: usize, ) -> Option<RefMut<'_, ParticleEmitter>>
Sourcepub fn particle_emitters_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, ParticleEmitter>>
pub fn particle_emitters_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, ParticleEmitter>>
Iterate the elements, borrowing each in turn.
pub fn resize_particle_emitters(&mut self, count: usize)
Sourcepub fn particle_emitter_copies_len(&self) -> usize
pub fn particle_emitter_copies_len(&self) -> usize
Particle emitter copies (PARC)
Sourcepub fn particle_emitter_copies(
&self,
index: usize,
) -> Option<Ref<'_, ParticleEmitterCopy>>
pub fn particle_emitter_copies( &self, index: usize, ) -> Option<Ref<'_, ParticleEmitterCopy>>
Borrows element index in place. None when out of range.
pub fn particle_emitter_copies_mut( &mut self, index: usize, ) -> Option<RefMut<'_, ParticleEmitterCopy>>
Sourcepub fn particle_emitter_copies_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, ParticleEmitterCopy>>
pub fn particle_emitter_copies_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, ParticleEmitterCopy>>
Iterate the elements, borrowing each in turn.
pub fn resize_particle_emitter_copies(&mut self, count: usize)
Sourcepub fn ribbon_emitters_len(&self) -> usize
pub fn ribbon_emitters_len(&self) -> usize
Ribbon emitters (RIB_)
Sourcepub fn ribbon_emitters(&self, index: usize) -> Option<Ref<'_, RibbonEmitter>>
pub fn ribbon_emitters(&self, index: usize) -> Option<Ref<'_, RibbonEmitter>>
Borrows element index in place. None when out of range.
pub fn ribbon_emitters_mut( &mut self, index: usize, ) -> Option<RefMut<'_, RibbonEmitter>>
Sourcepub fn ribbon_emitters_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, RibbonEmitter>>
pub fn ribbon_emitters_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, RibbonEmitter>>
Iterate the elements, borrowing each in turn.
pub fn resize_ribbon_emitters(&mut self, count: usize)
Sourcepub fn projections_len(&self) -> usize
pub fn projections_len(&self) -> usize
Projectors / decals (PROJ)
Sourcepub fn projections(&self, index: usize) -> Option<Ref<'_, Projector>>
pub fn projections(&self, index: usize) -> Option<Ref<'_, Projector>>
Borrows element index in place. None when out of range.
pub fn projections_mut(&mut self, index: usize) -> Option<RefMut<'_, Projector>>
Sourcepub fn projections_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, Projector>>
pub fn projections_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, Projector>>
Iterate the elements, borrowing each in turn.
pub fn resize_projections(&mut self, count: usize)
Sourcepub fn forces_len(&self) -> usize
pub fn forces_len(&self) -> usize
Forces (FOR_)
Sourcepub fn forces(&self, index: usize) -> Option<Ref<'_, Force>>
pub fn forces(&self, index: usize) -> Option<Ref<'_, Force>>
Borrows element index in place. None when out of range.
pub fn forces_mut(&mut self, index: usize) -> Option<RefMut<'_, Force>>
Sourcepub fn forces_iter(&self) -> impl ExactSizeIterator<Item = Ref<'_, Force>>
pub fn forces_iter(&self) -> impl ExactSizeIterator<Item = Ref<'_, Force>>
Iterate the elements, borrowing each in turn.
pub fn resize_forces(&mut self, count: usize)
Sourcepub fn warps(&self, index: usize) -> Option<Ref<'_, Warp>>
pub fn warps(&self, index: usize) -> Option<Ref<'_, Warp>>
Borrows element index in place. None when out of range.
pub fn warps_mut(&mut self, index: usize) -> Option<RefMut<'_, Warp>>
Sourcepub fn warps_iter(&self) -> impl ExactSizeIterator<Item = Ref<'_, Warp>>
pub fn warps_iter(&self) -> impl ExactSizeIterator<Item = Ref<'_, Warp>>
Iterate the elements, borrowing each in turn.
pub fn resize_warps(&mut self, count: usize)
Sourcepub fn view_volumes_len(&self) -> usize
pub fn view_volumes_len(&self) -> usize
View volumes (VVOL)
Sourcepub fn view_volumes(&self, index: usize) -> Option<Ref<'_, ViewVolume>>
pub fn view_volumes(&self, index: usize) -> Option<Ref<'_, ViewVolume>>
Borrows element index in place. None when out of range.
pub fn view_volumes_mut( &mut self, index: usize, ) -> Option<RefMut<'_, ViewVolume>>
Sourcepub fn view_volumes_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, ViewVolume>>
pub fn view_volumes_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, ViewVolume>>
Iterate the elements, borrowing each in turn.
pub fn resize_view_volumes(&mut self, count: usize)
Sourcepub fn rigid_bodies_len(&self) -> usize
pub fn rigid_bodies_len(&self) -> usize
Rigid bodies (PHRB)
Sourcepub fn rigid_bodies(&self, index: usize) -> Option<Ref<'_, RigidBody>>
pub fn rigid_bodies(&self, index: usize) -> Option<Ref<'_, RigidBody>>
Borrows element index in place. None when out of range.
pub fn rigid_bodies_mut( &mut self, index: usize, ) -> Option<RefMut<'_, RigidBody>>
Sourcepub fn rigid_bodies_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, RigidBody>>
pub fn rigid_bodies_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, RigidBody>>
Iterate the elements, borrowing each in turn.
pub fn resize_rigid_bodies(&mut self, count: usize)
Sourcepub fn physics_constraints_len(&self) -> usize
pub fn physics_constraints_len(&self) -> usize
Physics constraints (PHCT)
Sourcepub fn physics_constraints(
&self,
index: usize,
) -> Option<Ref<'_, PhysicsConstraint>>
pub fn physics_constraints( &self, index: usize, ) -> Option<Ref<'_, PhysicsConstraint>>
Borrows element index in place. None when out of range.
pub fn physics_constraints_mut( &mut self, index: usize, ) -> Option<RefMut<'_, PhysicsConstraint>>
Sourcepub fn physics_constraints_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, PhysicsConstraint>>
pub fn physics_constraints_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, PhysicsConstraint>>
Iterate the elements, borrowing each in turn.
pub fn resize_physics_constraints(&mut self, count: usize)
Sourcepub fn physics_joints_len(&self) -> usize
pub fn physics_joints_len(&self) -> usize
Physics joints (PHYJ)
Sourcepub fn physics_joints(&self, index: usize) -> Option<Ref<'_, PhysicsJoint>>
pub fn physics_joints(&self, index: usize) -> Option<Ref<'_, PhysicsJoint>>
Borrows element index in place. None when out of range.
pub fn physics_joints_mut( &mut self, index: usize, ) -> Option<RefMut<'_, PhysicsJoint>>
Sourcepub fn physics_joints_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, PhysicsJoint>>
pub fn physics_joints_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, PhysicsJoint>>
Iterate the elements, borrowing each in turn.
pub fn resize_physics_joints(&mut self, count: usize)
Sourcepub fn cloth_physics_len(&self) -> usize
pub fn cloth_physics_len(&self) -> usize
Cloth physics (PHCL, v28+)
Sourcepub fn cloth_physics(&self, index: usize) -> Option<Ref<'_, ClothPhysics>>
pub fn cloth_physics(&self, index: usize) -> Option<Ref<'_, ClothPhysics>>
Borrows element index in place. None when out of range.
pub fn cloth_physics_mut( &mut self, index: usize, ) -> Option<RefMut<'_, ClothPhysics>>
Sourcepub fn cloth_physics_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, ClothPhysics>>
pub fn cloth_physics_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, ClothPhysics>>
Iterate the elements, borrowing each in turn.
pub fn resize_cloth_physics(&mut self, count: usize)
Sourcepub fn ik_two_joints_len(&self) -> usize
pub fn ik_two_joints_len(&self) -> usize
Two-joint IK solvers (IK2J)
Sourcepub fn ik_two_joints(&self, index: usize) -> Option<Ref<'_, IKTwoJoint>>
pub fn ik_two_joints(&self, index: usize) -> Option<Ref<'_, IKTwoJoint>>
Borrows element index in place. None when out of range.
pub fn ik_two_joints_mut( &mut self, index: usize, ) -> Option<RefMut<'_, IKTwoJoint>>
Sourcepub fn ik_two_joints_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, IKTwoJoint>>
pub fn ik_two_joints_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, IKTwoJoint>>
Iterate the elements, borrowing each in turn.
pub fn resize_ik_two_joints(&mut self, count: usize)
Sourcepub fn ik_ccd_len(&self) -> usize
pub fn ik_ccd_len(&self) -> usize
CCD IK solvers (IKCC, v24+)
Sourcepub fn ik_ccd(&self, index: usize) -> Option<Ref<'_, IKCCD>>
pub fn ik_ccd(&self, index: usize) -> Option<Ref<'_, IKCCD>>
Borrows element index in place. None when out of range.
pub fn ik_ccd_mut(&mut self, index: usize) -> Option<RefMut<'_, IKCCD>>
Sourcepub fn ik_ccd_iter(&self) -> impl ExactSizeIterator<Item = Ref<'_, IKCCD>>
pub fn ik_ccd_iter(&self) -> impl ExactSizeIterator<Item = Ref<'_, IKCCD>>
Iterate the elements, borrowing each in turn.
pub fn resize_ik_ccd(&mut self, count: usize)
Sourcepub fn ik_joints_len(&self) -> usize
pub fn ik_joints_len(&self) -> usize
IK joints (IKJT)
Sourcepub fn ik_joints(&self, index: usize) -> Option<Ref<'_, IKJoint>>
pub fn ik_joints(&self, index: usize) -> Option<Ref<'_, IKJoint>>
Borrows element index in place. None when out of range.
pub fn ik_joints_mut(&mut self, index: usize) -> Option<RefMut<'_, IKJoint>>
Sourcepub fn ik_joints_iter(&self) -> impl ExactSizeIterator<Item = Ref<'_, IKJoint>>
pub fn ik_joints_iter(&self) -> impl ExactSizeIterator<Item = Ref<'_, IKJoint>>
Iterate the elements, borrowing each in turn.
pub fn resize_ik_joints(&mut self, count: usize)
Sourcepub fn one_bone_solvers_len(&self) -> usize
pub fn one_bone_solvers_len(&self) -> usize
One-bone IK solvers (PAOB)
Sourcepub fn one_bone_solvers(&self, index: usize) -> Option<Ref<'_, OneBoneSolver>>
pub fn one_bone_solvers(&self, index: usize) -> Option<Ref<'_, OneBoneSolver>>
Borrows element index in place. None when out of range.
pub fn one_bone_solvers_mut( &mut self, index: usize, ) -> Option<RefMut<'_, OneBoneSolver>>
Sourcepub fn one_bone_solvers_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, OneBoneSolver>>
pub fn one_bone_solvers_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, OneBoneSolver>>
Iterate the elements, borrowing each in turn.
pub fn resize_one_bone_solvers(&mut self, count: usize)
Sourcepub fn turret_behaviors_len(&self) -> usize
pub fn turret_behaviors_len(&self) -> usize
Turret behaviors (PATU)
Sourcepub fn turret_behaviors(&self, index: usize) -> Option<Ref<'_, TurretBehavior>>
pub fn turret_behaviors(&self, index: usize) -> Option<Ref<'_, TurretBehavior>>
Borrows element index in place. None when out of range.
pub fn turret_behaviors_mut( &mut self, index: usize, ) -> Option<RefMut<'_, TurretBehavior>>
Sourcepub fn turret_behaviors_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, TurretBehavior>>
pub fn turret_behaviors_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, TurretBehavior>>
Iterate the elements, borrowing each in turn.
pub fn resize_turret_behaviors(&mut self, count: usize)
Sourcepub fn trigger_data_len(&self) -> usize
pub fn trigger_data_len(&self) -> usize
Trigger data (TRGD)
Sourcepub fn trigger_data(&self, index: usize) -> Option<Ref<'_, TriggerData>>
pub fn trigger_data(&self, index: usize) -> Option<Ref<'_, TriggerData>>
Borrows element index in place. None when out of range.
pub fn trigger_data_mut( &mut self, index: usize, ) -> Option<RefMut<'_, TriggerData>>
Sourcepub fn trigger_data_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, TriggerData>>
pub fn trigger_data_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, TriggerData>>
Iterate the elements, borrowing each in turn.
pub fn resize_trigger_data(&mut self, count: usize)
Sourcepub fn initial_reference_len(&self) -> usize
pub fn initial_reference_len(&self) -> usize
Inverse bind-pose matrices (IREF)
Sourcepub fn initial_reference(
&self,
index: usize,
) -> Option<Ref<'_, InitialReference>>
pub fn initial_reference( &self, index: usize, ) -> Option<Ref<'_, InitialReference>>
Borrows element index in place. None when out of range.
pub fn initial_reference_mut( &mut self, index: usize, ) -> Option<RefMut<'_, InitialReference>>
Sourcepub fn initial_reference_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, InitialReference>>
pub fn initial_reference_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, InitialReference>>
Iterate the elements, borrowing each in turn.
pub fn resize_initial_reference(&mut self, count: usize)
Sourcepub fn tight_hit_test_object(&self) -> Ref<'_, HitTestShape>
pub fn tight_hit_test_object(&self) -> Ref<'_, HitTestShape>
Tight hit-test shape (SSGS, inline) Borrows the field in place — no copy, no allocation.
pub fn tight_hit_test_object_mut(&mut self) -> RefMut<'_, HitTestShape>
Sourcepub fn fuzzy_hit_test_objects_len(&self) -> usize
pub fn fuzzy_hit_test_objects_len(&self) -> usize
Fuzzy hit-test shapes (SSGS)
Sourcepub fn fuzzy_hit_test_objects(
&self,
index: usize,
) -> Option<Ref<'_, HitTestShape>>
pub fn fuzzy_hit_test_objects( &self, index: usize, ) -> Option<Ref<'_, HitTestShape>>
Borrows element index in place. None when out of range.
pub fn fuzzy_hit_test_objects_mut( &mut self, index: usize, ) -> Option<RefMut<'_, HitTestShape>>
Sourcepub fn fuzzy_hit_test_objects_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, HitTestShape>>
pub fn fuzzy_hit_test_objects_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, HitTestShape>>
Iterate the elements, borrowing each in turn.
pub fn resize_fuzzy_hit_test_objects(&mut self, count: usize)
Sourcepub fn attachment_volumes_len(&self) -> usize
pub fn attachment_volumes_len(&self) -> usize
Attachment volumes (ATVL)
Sourcepub fn attachment_volumes(
&self,
index: usize,
) -> Option<Ref<'_, AttachmentVolume>>
pub fn attachment_volumes( &self, index: usize, ) -> Option<Ref<'_, AttachmentVolume>>
Borrows element index in place. None when out of range.
pub fn attachment_volumes_mut( &mut self, index: usize, ) -> Option<RefMut<'_, AttachmentVolume>>
Sourcepub fn attachment_volumes_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, AttachmentVolume>>
pub fn attachment_volumes_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, AttachmentVolume>>
Iterate the elements, borrowing each in turn.
pub fn resize_attachment_volumes(&mut self, count: usize)
Sourcepub fn attachment_volumes_addon_0(&self) -> &[u16]
pub fn attachment_volumes_addon_0(&self) -> &[u16]
Attachment volume addon 0 (U16_)
Zero-copy view of the underlying std::vector.
Sourcepub fn attachment_volumes_addon_0_mut(&mut self) -> &mut [u16]
pub fn attachment_volumes_addon_0_mut(&mut self) -> &mut [u16]
Zero-copy mutable view. Resize first — the borrow forbids it after.
pub fn set_attachment_volumes_addon_0(&mut self, values: &[u16])
pub fn resize_attachment_volumes_addon_0(&mut self, count: usize)
Sourcepub fn attachment_volumes_addon_1(&self) -> &[u16]
pub fn attachment_volumes_addon_1(&self) -> &[u16]
Attachment volume addon 1 (U16_)
Zero-copy view of the underlying std::vector.
Sourcepub fn attachment_volumes_addon_1_mut(&mut self) -> &mut [u16]
pub fn attachment_volumes_addon_1_mut(&mut self) -> &mut [u16]
Zero-copy mutable view. Resize first — the borrow forbids it after.
pub fn set_attachment_volumes_addon_1(&mut self, values: &[u16])
pub fn resize_attachment_volumes_addon_1(&mut self, count: usize)
Sourcepub fn billboard_behaviors_len(&self) -> usize
pub fn billboard_behaviors_len(&self) -> usize
Billboard behaviors (BBSC)
Sourcepub fn billboard_behaviors(
&self,
index: usize,
) -> Option<Ref<'_, BillboardBehavior>>
pub fn billboard_behaviors( &self, index: usize, ) -> Option<Ref<'_, BillboardBehavior>>
Borrows element index in place. None when out of range.
pub fn billboard_behaviors_mut( &mut self, index: usize, ) -> Option<RefMut<'_, BillboardBehavior>>
Sourcepub fn billboard_behaviors_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, BillboardBehavior>>
pub fn billboard_behaviors_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, BillboardBehavior>>
Iterate the elements, borrowing each in turn.
pub fn resize_billboard_behaviors(&mut self, count: usize)
Sourcepub fn trailing_models_len(&self) -> usize
pub fn trailing_models_len(&self) -> usize
Trailing models (TMD_, defunct)
Sourcepub fn trailing_models(&self, index: usize) -> Option<Ref<'_, TrailingModel>>
pub fn trailing_models(&self, index: usize) -> Option<Ref<'_, TrailingModel>>
Borrows element index in place. None when out of range.
pub fn trailing_models_mut( &mut self, index: usize, ) -> Option<RefMut<'_, TrailingModel>>
Sourcepub fn trailing_models_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, TrailingModel>>
pub fn trailing_models_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, TrailingModel>>
Iterate the elements, borrowing each in turn.
pub fn resize_trailing_models(&mut self, count: usize)
Sourcepub fn m_3a_anim_hash(&self) -> u32
pub fn m_3a_anim_hash(&self) -> u32
Hash for .m3a animation file binding
pub fn set_m_3a_anim_hash(&mut self, value: u32)
Sourcepub fn m_3a_anim_hashes(&self) -> &[u32]
pub fn m_3a_anim_hashes(&self) -> &[u32]
Additional .m3a hashes (U32_)
Zero-copy view of the underlying std::vector.
Sourcepub fn m_3a_anim_hashes_mut(&mut self) -> &mut [u32]
pub fn m_3a_anim_hashes_mut(&mut self) -> &mut [u32]
Zero-copy mutable view. Resize first — the borrow forbids it after.