diff options
Diffstat (limited to 'src/utils.rs')
-rw-r--r-- | src/utils.rs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/utils.rs b/src/utils.rs index 74451ae..a8ee2b8 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -3,7 +3,8 @@ use std::{fs, path::PathBuf}; use bevy::prelude::*; use crate::{ - components::DirworldEntity, payload::DirworldEntityPayload, resources::DirworldCodecs, Extensions + components::DirworldEntity, payload::DirworldEntityPayload, resources::DirworldCodecs, + Extensions, }; /// Extracts the binary payload from a file @@ -15,7 +16,12 @@ pub fn extract_entity_payload( let mut payload = None; if path.is_dir() { - let payload_file_path = path.join(".door"); + let payload_file_path = if path.file_name().is_none() { + path.parent().expect(".. missing parent somehow").join(".door") + } else { + path.join(".door") + }; + info!("{payload_file_path:?}"); if payload_file_path.exists() { if let Ok(payload_file_data) = fs::read(&payload_file_path) { match rmp_serde::from_slice::<DirworldEntityPayload>(&payload_file_data) { |