pub struct Bmd { /* private fields */ }Expand description
Represents a complete Battle Map Definition file decoded in memory.
This struct contains all battle map data including buildings, terrain, lighting, deployment zones, AI hints, and numerous other gameplay and visual elements.
§Field Categories
§Core
serialise_version: File format version (23-27)
§Buildings & Objects
battlefield_building_list- Buildings inside the battlefield areabattlefield_building_list_far- Buildings outside the battlefield areaprefab_instance_list: Prefab object instancesprop_list: Small decorative propscomposite_scene_list: Composite scene references
§Terrain & Boundaries
terrain_outlines: Terrain area boundariesnon_terrain_outlines: Non-terrain area boundariesgo_outlines: Traversable area outlines (where units can go).water_outlines: Water body boundariesbmd_outline_list: Additional outline definitionslite_building_outlines: Simplified building outlinesplayable_area: Playable map boundaries
§Gameplay
deployment_list: Unit deployment zonescapture_location_set: Capture point locationsbmd_catchment_area_list: Catchment area definitionszones_template_list: Zone template definitionsef_line_list: Entity Formation line definitionsai_hints: AI pathfinding and behavior hints
§Lighting
point_light_list: Point light sourcesspot_light_list: Spotlight sourceslight_probe_list: Global illumination probes
§Effects & Audio
particle_emitter_list: Particle effect emitterssound_shape_list: 3D audio zonesbuilding_projectile_emitter_list: Building-based projectile emitters
§Vegetation
tree_list_reference_list: Tree placement referencesgrass_list_reference_list: Grass placement references
§Advanced Rendering
custom_material_mesh_list: Custom material meshesterrain_stencil_triangle_list: Terrain stencil geometryterrain_stencil_blend_triangle_list: Blended stencil geometryterrain_decal_list: Terrain decal placements
§Civilians & Sieges
civilian_deployment_list: Civilian unit spawnscivilian_shelter_list: Civilian shelter locationstoggleable_buildings_slot_list: Destructible building slots
§Cameras
camera_zones: Camera constraint volumes
§Getset
All fields have public getters, mutable getters, and setters generated via getset:
let version = bmd.serialise_version(); // Getter
*bmd.serialise_version_mut() = 27; // Mutable getter
bmd.set_serialise_version(27); // Setter§Example
use rpfm_lib::files::bmd::Bmd;
use rpfm_lib::files::Decodeable;
let bmd = Bmd::decode(&mut reader, &None)?;
// Check version
println!("BMD version: {}", bmd.serialise_version());
// Iterate buildings
for building in bmd.battlefield_building_list().list() {
println!("Building key: {:?}", building.key());
}
// Access deployment zones
for zone in bmd.deployment_list().list() {
println!("Deployment zone: {:?}", zone);
}Implementations§
Source§impl Bmd
impl Bmd
Sourcepub fn serialise_version(&self) -> &u16
pub fn serialise_version(&self) -> &u16
File format version number (23-27).
Sourcepub fn battlefield_building_list(&self) -> &BattlefieldBuildingList
pub fn battlefield_building_list(&self) -> &BattlefieldBuildingList
Building instances inside the battlefield area.
Sourcepub fn battlefield_building_list_far(&self) -> &BattlefieldBuildingListFar
pub fn battlefield_building_list_far(&self) -> &BattlefieldBuildingListFar
Building instances outside the battlefield area.
Sourcepub fn capture_location_set(&self) -> &CaptureLocationSet
pub fn capture_location_set(&self) -> &CaptureLocationSet
Groups of capture locations.
Sourcepub fn ef_line_list(&self) -> &EFLineList
pub fn ef_line_list(&self) -> &EFLineList
Entity Formation line definitions.
Sourcepub fn go_outlines(&self) -> &GoOutlines
pub fn go_outlines(&self) -> &GoOutlines
Traversable area outlines (where units can go).
Sourcepub fn non_terrain_outlines(&self) -> &NonTerrainOutlines
pub fn non_terrain_outlines(&self) -> &NonTerrainOutlines
Non-terrain area boundary outlines.
Sourcepub fn zones_template_list(&self) -> &ZonesTemplateList
pub fn zones_template_list(&self) -> &ZonesTemplateList
Zone template definitions.
Sourcepub fn prefab_instance_list(&self) -> &PrefabInstanceList
pub fn prefab_instance_list(&self) -> &PrefabInstanceList
Prefab object instances.
Sourcepub fn bmd_outline_list(&self) -> &BmdOutlineList
pub fn bmd_outline_list(&self) -> &BmdOutlineList
Additional outline definitions.
Sourcepub fn terrain_outlines(&self) -> &TerrainOutlines
pub fn terrain_outlines(&self) -> &TerrainOutlines
Terrain area boundary outlines.
Sourcepub fn lite_building_outlines(&self) -> &LiteBuildingOutlines
pub fn lite_building_outlines(&self) -> &LiteBuildingOutlines
Simplified building outline definitions.
Sourcepub fn camera_zones(&self) -> &CameraZones
pub fn camera_zones(&self) -> &CameraZones
Camera constraint volumes.
Sourcepub fn civilian_deployment_list(&self) -> &CivilianDeploymentList
pub fn civilian_deployment_list(&self) -> &CivilianDeploymentList
Civilian unit deployment locations.
Sourcepub fn civilian_shelter_list(&self) -> &CivilianShelterList
pub fn civilian_shelter_list(&self) -> &CivilianShelterList
Civilian shelter locations.
Sourcepub fn particle_emitter_list(&self) -> &ParticleEmitterList
pub fn particle_emitter_list(&self) -> &ParticleEmitterList
Particle effect emitter instances.
Sourcepub fn light_probe_list(&self) -> &LightProbeList
pub fn light_probe_list(&self) -> &LightProbeList
Global illumination light probes.
Sourcepub fn terrain_stencil_triangle_list(&self) -> &TerrainStencilTriangleList
pub fn terrain_stencil_triangle_list(&self) -> &TerrainStencilTriangleList
Terrain stencil triangle geometry.
Sourcepub fn point_light_list(&self) -> &PointLightList
pub fn point_light_list(&self) -> &PointLightList
Point light source instances.
Sourcepub fn building_projectile_emitter_list(&self) -> &BuildingProjectileEmitterList
pub fn building_projectile_emitter_list(&self) -> &BuildingProjectileEmitterList
Building-based projectile emitter instances.
Sourcepub fn playable_area(&self) -> &PlayableArea
pub fn playable_area(&self) -> &PlayableArea
Playable map area boundaries.
Sourcepub fn custom_material_mesh_list(&self) -> &CustomMaterialMeshList
pub fn custom_material_mesh_list(&self) -> &CustomMaterialMeshList
Custom material mesh instances.
Sourcepub fn terrain_stencil_blend_triangle_list(
&self,
) -> &TerrainStencilBlendTriangleList
pub fn terrain_stencil_blend_triangle_list( &self, ) -> &TerrainStencilBlendTriangleList
Blended terrain stencil triangle geometry.
Sourcepub fn spot_light_list(&self) -> &SpotLightList
pub fn spot_light_list(&self) -> &SpotLightList
Spotlight source instances.
Sourcepub fn sound_shape_list(&self) -> &SoundShapeList
pub fn sound_shape_list(&self) -> &SoundShapeList
3D audio zone definitions.
Sourcepub fn composite_scene_list(&self) -> &CompositeSceneList
pub fn composite_scene_list(&self) -> &CompositeSceneList
Composite scene references.
Sourcepub fn deployment_list(&self) -> &DeploymentList
pub fn deployment_list(&self) -> &DeploymentList
Unit deployment zone definitions.
Sourcepub fn bmd_catchment_area_list(&self) -> &BmdCatchmentAreaList
pub fn bmd_catchment_area_list(&self) -> &BmdCatchmentAreaList
Catchment area definitions.
Sourcepub fn toggleable_buildings_slot_list(&self) -> &ToggleableBuildingsSlotList
pub fn toggleable_buildings_slot_list(&self) -> &ToggleableBuildingsSlotList
Destructible/toggleable building slot definitions.
Sourcepub fn terrain_decal_list(&self) -> &TerrainDecalList
pub fn terrain_decal_list(&self) -> &TerrainDecalList
Terrain decal placements.
Sourcepub fn tree_list_reference_list(&self) -> &TreeListReferenceList
pub fn tree_list_reference_list(&self) -> &TreeListReferenceList
Tree placement references (links to vegetation files).
Sourcepub fn grass_list_reference_list(&self) -> &GrassListReferenceList
pub fn grass_list_reference_list(&self) -> &GrassListReferenceList
Grass placement references (links to vegetation files).
Sourcepub fn water_outlines(&self) -> &WaterOutlines
pub fn water_outlines(&self) -> &WaterOutlines
Water body boundary outlines.
Source§impl Bmd
impl Bmd
Sourcepub fn serialise_version_mut(&mut self) -> &mut u16
pub fn serialise_version_mut(&mut self) -> &mut u16
File format version number (23-27).
Sourcepub fn battlefield_building_list_mut(&mut self) -> &mut BattlefieldBuildingList
pub fn battlefield_building_list_mut(&mut self) -> &mut BattlefieldBuildingList
Building instances inside the battlefield area.
Sourcepub fn battlefield_building_list_far_mut(
&mut self,
) -> &mut BattlefieldBuildingListFar
pub fn battlefield_building_list_far_mut( &mut self, ) -> &mut BattlefieldBuildingListFar
Building instances outside the battlefield area.
Sourcepub fn capture_location_set_mut(&mut self) -> &mut CaptureLocationSet
pub fn capture_location_set_mut(&mut self) -> &mut CaptureLocationSet
Groups of capture locations.
Sourcepub fn ef_line_list_mut(&mut self) -> &mut EFLineList
pub fn ef_line_list_mut(&mut self) -> &mut EFLineList
Entity Formation line definitions.
Sourcepub fn go_outlines_mut(&mut self) -> &mut GoOutlines
pub fn go_outlines_mut(&mut self) -> &mut GoOutlines
Traversable area outlines (where units can go).
Sourcepub fn non_terrain_outlines_mut(&mut self) -> &mut NonTerrainOutlines
pub fn non_terrain_outlines_mut(&mut self) -> &mut NonTerrainOutlines
Non-terrain area boundary outlines.
Sourcepub fn zones_template_list_mut(&mut self) -> &mut ZonesTemplateList
pub fn zones_template_list_mut(&mut self) -> &mut ZonesTemplateList
Zone template definitions.
Sourcepub fn prefab_instance_list_mut(&mut self) -> &mut PrefabInstanceList
pub fn prefab_instance_list_mut(&mut self) -> &mut PrefabInstanceList
Prefab object instances.
Sourcepub fn bmd_outline_list_mut(&mut self) -> &mut BmdOutlineList
pub fn bmd_outline_list_mut(&mut self) -> &mut BmdOutlineList
Additional outline definitions.
Sourcepub fn terrain_outlines_mut(&mut self) -> &mut TerrainOutlines
pub fn terrain_outlines_mut(&mut self) -> &mut TerrainOutlines
Terrain area boundary outlines.
Sourcepub fn lite_building_outlines_mut(&mut self) -> &mut LiteBuildingOutlines
pub fn lite_building_outlines_mut(&mut self) -> &mut LiteBuildingOutlines
Simplified building outline definitions.
Sourcepub fn camera_zones_mut(&mut self) -> &mut CameraZones
pub fn camera_zones_mut(&mut self) -> &mut CameraZones
Camera constraint volumes.
Sourcepub fn civilian_deployment_list_mut(&mut self) -> &mut CivilianDeploymentList
pub fn civilian_deployment_list_mut(&mut self) -> &mut CivilianDeploymentList
Civilian unit deployment locations.
Sourcepub fn civilian_shelter_list_mut(&mut self) -> &mut CivilianShelterList
pub fn civilian_shelter_list_mut(&mut self) -> &mut CivilianShelterList
Civilian shelter locations.
Sourcepub fn prop_list_mut(&mut self) -> &mut PropList
pub fn prop_list_mut(&mut self) -> &mut PropList
Small decorative prop instances.
Sourcepub fn particle_emitter_list_mut(&mut self) -> &mut ParticleEmitterList
pub fn particle_emitter_list_mut(&mut self) -> &mut ParticleEmitterList
Particle effect emitter instances.
Sourcepub fn ai_hints_mut(&mut self) -> &mut AIHints
pub fn ai_hints_mut(&mut self) -> &mut AIHints
AI pathfinding and behavior hints.
Sourcepub fn light_probe_list_mut(&mut self) -> &mut LightProbeList
pub fn light_probe_list_mut(&mut self) -> &mut LightProbeList
Global illumination light probes.
Sourcepub fn terrain_stencil_triangle_list_mut(
&mut self,
) -> &mut TerrainStencilTriangleList
pub fn terrain_stencil_triangle_list_mut( &mut self, ) -> &mut TerrainStencilTriangleList
Terrain stencil triangle geometry.
Sourcepub fn point_light_list_mut(&mut self) -> &mut PointLightList
pub fn point_light_list_mut(&mut self) -> &mut PointLightList
Point light source instances.
Sourcepub fn building_projectile_emitter_list_mut(
&mut self,
) -> &mut BuildingProjectileEmitterList
pub fn building_projectile_emitter_list_mut( &mut self, ) -> &mut BuildingProjectileEmitterList
Building-based projectile emitter instances.
Sourcepub fn playable_area_mut(&mut self) -> &mut PlayableArea
pub fn playable_area_mut(&mut self) -> &mut PlayableArea
Playable map area boundaries.
Sourcepub fn custom_material_mesh_list_mut(&mut self) -> &mut CustomMaterialMeshList
pub fn custom_material_mesh_list_mut(&mut self) -> &mut CustomMaterialMeshList
Custom material mesh instances.
Sourcepub fn terrain_stencil_blend_triangle_list_mut(
&mut self,
) -> &mut TerrainStencilBlendTriangleList
pub fn terrain_stencil_blend_triangle_list_mut( &mut self, ) -> &mut TerrainStencilBlendTriangleList
Blended terrain stencil triangle geometry.
Sourcepub fn spot_light_list_mut(&mut self) -> &mut SpotLightList
pub fn spot_light_list_mut(&mut self) -> &mut SpotLightList
Spotlight source instances.
Sourcepub fn sound_shape_list_mut(&mut self) -> &mut SoundShapeList
pub fn sound_shape_list_mut(&mut self) -> &mut SoundShapeList
3D audio zone definitions.
Sourcepub fn composite_scene_list_mut(&mut self) -> &mut CompositeSceneList
pub fn composite_scene_list_mut(&mut self) -> &mut CompositeSceneList
Composite scene references.
Sourcepub fn deployment_list_mut(&mut self) -> &mut DeploymentList
pub fn deployment_list_mut(&mut self) -> &mut DeploymentList
Unit deployment zone definitions.
Sourcepub fn bmd_catchment_area_list_mut(&mut self) -> &mut BmdCatchmentAreaList
pub fn bmd_catchment_area_list_mut(&mut self) -> &mut BmdCatchmentAreaList
Catchment area definitions.
Sourcepub fn toggleable_buildings_slot_list_mut(
&mut self,
) -> &mut ToggleableBuildingsSlotList
pub fn toggleable_buildings_slot_list_mut( &mut self, ) -> &mut ToggleableBuildingsSlotList
Destructible/toggleable building slot definitions.
Sourcepub fn terrain_decal_list_mut(&mut self) -> &mut TerrainDecalList
pub fn terrain_decal_list_mut(&mut self) -> &mut TerrainDecalList
Terrain decal placements.
Sourcepub fn tree_list_reference_list_mut(&mut self) -> &mut TreeListReferenceList
pub fn tree_list_reference_list_mut(&mut self) -> &mut TreeListReferenceList
Tree placement references (links to vegetation files).
Sourcepub fn grass_list_reference_list_mut(&mut self) -> &mut GrassListReferenceList
pub fn grass_list_reference_list_mut(&mut self) -> &mut GrassListReferenceList
Grass placement references (links to vegetation files).
Sourcepub fn water_outlines_mut(&mut self) -> &mut WaterOutlines
pub fn water_outlines_mut(&mut self) -> &mut WaterOutlines
Water body boundary outlines.
Source§impl Bmd
impl Bmd
Sourcepub fn set_serialise_version(&mut self, val: u16) -> &mut Self
pub fn set_serialise_version(&mut self, val: u16) -> &mut Self
File format version number (23-27).
Sourcepub fn set_battlefield_building_list(
&mut self,
val: BattlefieldBuildingList,
) -> &mut Self
pub fn set_battlefield_building_list( &mut self, val: BattlefieldBuildingList, ) -> &mut Self
Building instances inside the battlefield area.
Sourcepub fn set_battlefield_building_list_far(
&mut self,
val: BattlefieldBuildingListFar,
) -> &mut Self
pub fn set_battlefield_building_list_far( &mut self, val: BattlefieldBuildingListFar, ) -> &mut Self
Building instances outside the battlefield area.
Sourcepub fn set_capture_location_set(&mut self, val: CaptureLocationSet) -> &mut Self
pub fn set_capture_location_set(&mut self, val: CaptureLocationSet) -> &mut Self
Groups of capture locations.
Sourcepub fn set_ef_line_list(&mut self, val: EFLineList) -> &mut Self
pub fn set_ef_line_list(&mut self, val: EFLineList) -> &mut Self
Entity Formation line definitions.
Sourcepub fn set_go_outlines(&mut self, val: GoOutlines) -> &mut Self
pub fn set_go_outlines(&mut self, val: GoOutlines) -> &mut Self
Traversable area outlines (where units can go).
Sourcepub fn set_non_terrain_outlines(&mut self, val: NonTerrainOutlines) -> &mut Self
pub fn set_non_terrain_outlines(&mut self, val: NonTerrainOutlines) -> &mut Self
Non-terrain area boundary outlines.
Sourcepub fn set_zones_template_list(&mut self, val: ZonesTemplateList) -> &mut Self
pub fn set_zones_template_list(&mut self, val: ZonesTemplateList) -> &mut Self
Zone template definitions.
Sourcepub fn set_prefab_instance_list(&mut self, val: PrefabInstanceList) -> &mut Self
pub fn set_prefab_instance_list(&mut self, val: PrefabInstanceList) -> &mut Self
Prefab object instances.
Sourcepub fn set_bmd_outline_list(&mut self, val: BmdOutlineList) -> &mut Self
pub fn set_bmd_outline_list(&mut self, val: BmdOutlineList) -> &mut Self
Additional outline definitions.
Sourcepub fn set_terrain_outlines(&mut self, val: TerrainOutlines) -> &mut Self
pub fn set_terrain_outlines(&mut self, val: TerrainOutlines) -> &mut Self
Terrain area boundary outlines.
Sourcepub fn set_lite_building_outlines(
&mut self,
val: LiteBuildingOutlines,
) -> &mut Self
pub fn set_lite_building_outlines( &mut self, val: LiteBuildingOutlines, ) -> &mut Self
Simplified building outline definitions.
Sourcepub fn set_camera_zones(&mut self, val: CameraZones) -> &mut Self
pub fn set_camera_zones(&mut self, val: CameraZones) -> &mut Self
Camera constraint volumes.
Sourcepub fn set_civilian_deployment_list(
&mut self,
val: CivilianDeploymentList,
) -> &mut Self
pub fn set_civilian_deployment_list( &mut self, val: CivilianDeploymentList, ) -> &mut Self
Civilian unit deployment locations.
Sourcepub fn set_civilian_shelter_list(
&mut self,
val: CivilianShelterList,
) -> &mut Self
pub fn set_civilian_shelter_list( &mut self, val: CivilianShelterList, ) -> &mut Self
Civilian shelter locations.
Sourcepub fn set_prop_list(&mut self, val: PropList) -> &mut Self
pub fn set_prop_list(&mut self, val: PropList) -> &mut Self
Small decorative prop instances.
Sourcepub fn set_particle_emitter_list(
&mut self,
val: ParticleEmitterList,
) -> &mut Self
pub fn set_particle_emitter_list( &mut self, val: ParticleEmitterList, ) -> &mut Self
Particle effect emitter instances.
Sourcepub fn set_ai_hints(&mut self, val: AIHints) -> &mut Self
pub fn set_ai_hints(&mut self, val: AIHints) -> &mut Self
AI pathfinding and behavior hints.
Sourcepub fn set_light_probe_list(&mut self, val: LightProbeList) -> &mut Self
pub fn set_light_probe_list(&mut self, val: LightProbeList) -> &mut Self
Global illumination light probes.
Sourcepub fn set_terrain_stencil_triangle_list(
&mut self,
val: TerrainStencilTriangleList,
) -> &mut Self
pub fn set_terrain_stencil_triangle_list( &mut self, val: TerrainStencilTriangleList, ) -> &mut Self
Terrain stencil triangle geometry.
Sourcepub fn set_point_light_list(&mut self, val: PointLightList) -> &mut Self
pub fn set_point_light_list(&mut self, val: PointLightList) -> &mut Self
Point light source instances.
Sourcepub fn set_building_projectile_emitter_list(
&mut self,
val: BuildingProjectileEmitterList,
) -> &mut Self
pub fn set_building_projectile_emitter_list( &mut self, val: BuildingProjectileEmitterList, ) -> &mut Self
Building-based projectile emitter instances.
Sourcepub fn set_playable_area(&mut self, val: PlayableArea) -> &mut Self
pub fn set_playable_area(&mut self, val: PlayableArea) -> &mut Self
Playable map area boundaries.
Sourcepub fn set_custom_material_mesh_list(
&mut self,
val: CustomMaterialMeshList,
) -> &mut Self
pub fn set_custom_material_mesh_list( &mut self, val: CustomMaterialMeshList, ) -> &mut Self
Custom material mesh instances.
Sourcepub fn set_terrain_stencil_blend_triangle_list(
&mut self,
val: TerrainStencilBlendTriangleList,
) -> &mut Self
pub fn set_terrain_stencil_blend_triangle_list( &mut self, val: TerrainStencilBlendTriangleList, ) -> &mut Self
Blended terrain stencil triangle geometry.
Sourcepub fn set_spot_light_list(&mut self, val: SpotLightList) -> &mut Self
pub fn set_spot_light_list(&mut self, val: SpotLightList) -> &mut Self
Spotlight source instances.
Sourcepub fn set_sound_shape_list(&mut self, val: SoundShapeList) -> &mut Self
pub fn set_sound_shape_list(&mut self, val: SoundShapeList) -> &mut Self
3D audio zone definitions.
Sourcepub fn set_composite_scene_list(&mut self, val: CompositeSceneList) -> &mut Self
pub fn set_composite_scene_list(&mut self, val: CompositeSceneList) -> &mut Self
Composite scene references.
Sourcepub fn set_deployment_list(&mut self, val: DeploymentList) -> &mut Self
pub fn set_deployment_list(&mut self, val: DeploymentList) -> &mut Self
Unit deployment zone definitions.
Sourcepub fn set_bmd_catchment_area_list(
&mut self,
val: BmdCatchmentAreaList,
) -> &mut Self
pub fn set_bmd_catchment_area_list( &mut self, val: BmdCatchmentAreaList, ) -> &mut Self
Catchment area definitions.
Sourcepub fn set_toggleable_buildings_slot_list(
&mut self,
val: ToggleableBuildingsSlotList,
) -> &mut Self
pub fn set_toggleable_buildings_slot_list( &mut self, val: ToggleableBuildingsSlotList, ) -> &mut Self
Destructible/toggleable building slot definitions.
Sourcepub fn set_terrain_decal_list(&mut self, val: TerrainDecalList) -> &mut Self
pub fn set_terrain_decal_list(&mut self, val: TerrainDecalList) -> &mut Self
Terrain decal placements.
Sourcepub fn set_tree_list_reference_list(
&mut self,
val: TreeListReferenceList,
) -> &mut Self
pub fn set_tree_list_reference_list( &mut self, val: TreeListReferenceList, ) -> &mut Self
Tree placement references (links to vegetation files).
Sourcepub fn set_grass_list_reference_list(
&mut self,
val: GrassListReferenceList,
) -> &mut Self
pub fn set_grass_list_reference_list( &mut self, val: GrassListReferenceList, ) -> &mut Self
Grass placement references (links to vegetation files).
Sourcepub fn set_water_outlines(&mut self, val: WaterOutlines) -> &mut Self
pub fn set_water_outlines(&mut self, val: WaterOutlines) -> &mut Self
Water body boundary outlines.
Source§impl Bmd
impl Bmd
Sourcepub fn export_prefab_to_raw_data(
&self,
name: &str,
vegetation: Option<&BmdVegetation>,
output_path: &Path,
) -> Result<()>
pub fn export_prefab_to_raw_data( &self, name: &str, vegetation: Option<&BmdVegetation>, output_path: &Path, ) -> Result<()>
Exports this BMD to Terry (Creative Assembly’s editor) format.
Generates two files for use in Terry:
.terry- Project file defining the prefab structure.layer- Scene layer with entities, associations, and vegetation
§Parameters
name: Base name for output files (e.g., “siege_map”)vegetation: Optional vegetation data from BMD vegetation fileoutput_path: Directory where files will be created
§Returns
Ok(()): Successfully exported filesErr(_): I/O error or conversion error
§Generated Files
{name}.terry- Project file with scene hierarchy{name}.187abf10b8b9a13.layer- Layer file with entities
§Entity Associations
The layer file includes two association types:
- Logical: Parent-child grouping relationships in Terry’s UI
- Transform: Spatial/hierarchical relationships
§Example
use rpfm_lib::files::bmd::Bmd;
use rpfm_lib::files::bmd_vegetation::BmdVegetation;
use std::path::Path;
let bmd = Bmd::decode(&mut reader, &None)?;
let vegetation = BmdVegetation::decode(&mut veg_reader, &None)?;
bmd.export_prefab_to_raw_data(
"my_battle_map",
Some(&vegetation),
Path::new("output/")
)?;§Note
Not all BMD data lists are currently exported. Some are commented out in the implementation and will be added as export support is completed.
Sourcepub fn logical_associations(&self) -> HashMap<String, Vec<String>>
pub fn logical_associations(&self) -> HashMap<String, Vec<String>>
Returns logical entity associations for Terry export.
Logical associations define parent-child grouping relationships for organizing entities in Terry’s UI hierarchy.
§Returns
Map of parent entity IDs to their logically grouped child entity IDs.
§Note
Currently returns an empty map. Will be populated as association logic is implemented.
Sourcepub fn trasnform_associations(&self) -> HashMap<String, Vec<String>>
pub fn trasnform_associations(&self) -> HashMap<String, Vec<String>>
Returns transform (spatial hierarchy) entity associations for Terry export.
Transform associations define parent-child spatial relationships between entities (e.g., props attached to buildings, lights attached to structures).
§Returns
Map of parent entity IDs to their child entity IDs.
§Note
Currently returns an empty map. Will be populated as association logic is implemented.
Trait Implementations§
Source§impl Decodeable for Bmd
impl Decodeable for Bmd
Source§impl<'de> Deserialize<'de> for Bmd
impl<'de> Deserialize<'de> for Bmd
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>,
Source§impl Encodeable for Bmd
impl Encodeable for Bmd
Source§fn encode<W: WriteBytes>(
&mut self,
buffer: &mut W,
extra_data: &Option<EncodeableExtraData<'_>>,
) -> Result<()>
fn encode<W: WriteBytes>( &mut self, buffer: &mut W, extra_data: &Option<EncodeableExtraData<'_>>, ) -> Result<()>
impl StructuralPartialEq for Bmd
Auto Trait Implementations§
impl Freeze for Bmd
impl RefUnwindSafe for Bmd
impl Send for Bmd
impl Sync for Bmd
impl Unpin for Bmd
impl UnsafeUnpin for Bmd
impl UnwindSafe for Bmd
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.