aboutsummaryrefslogtreecommitdiff
path: root/src/utils.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils.rs')
-rw-r--r--src/utils.rs10
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) {