Evaluate side effects outside of log macro

Otherwise, they will not be evaluated if the logger isn't init correctly
This commit is contained in:
crumblingstatue 2023-04-14 16:16:59 +02:00
parent 5b86b40e47
commit 0b491a91c5
3 changed files with 18 additions and 24 deletions

View file

@ -53,9 +53,7 @@ impl Player {
} }
pub(crate) fn save(&self) { pub(crate) fn save(&self) {
log::info!( let result = std::fs::write("player.dat", rmp_serde::to_vec(self).unwrap());
"{:?}", log::info!("{result:?}");
std::fs::write("player.dat", rmp_serde::to_vec(self).unwrap())
);
} }
} }

View file

@ -3,7 +3,6 @@ pub mod tiledb_edit_ui;
use std::ops::Index; use std::ops::Index;
use egui_inspect::derive::Inspect; use egui_inspect::derive::Inspect;
use log::warn;
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use sfml::graphics::IntRect; use sfml::graphics::IntRect;
@ -111,12 +110,12 @@ impl TileDb {
Ok(data) => match rmp_serde::from_slice(&data) { Ok(data) => match rmp_serde::from_slice(&data) {
Ok(db) => db, Ok(db) => db,
Err(e) => { Err(e) => {
warn!("Failed to load tile database: {e}\nCreating default."); log::warn!("Failed to load tile database: {e}\nCreating default.");
Default::default() Default::default()
} }
}, },
Err(e) => { Err(e) => {
warn!("Failed to load tile database: {e}\nCreating default."); log::warn!("Failed to load tile database: {e}\nCreating default.");
Default::default() Default::default()
} }
} }
@ -125,9 +124,9 @@ impl TileDb {
match rmp_serde::to_vec(self) { match rmp_serde::to_vec(self) {
Ok(vec) => match std::fs::write(PATH, vec) { Ok(vec) => match std::fs::write(PATH, vec) {
Ok(()) => {} Ok(()) => {}
Err(e) => warn!("Failed to save tile db: {e}"), Err(e) => log::warn!("Failed to save tile db: {e}"),
}, },
Err(e) => warn!("Failed to save tile db: {e}"), Err(e) => log::warn!("Failed to save tile db: {e}"),
} }
} }
} }

View file

@ -63,7 +63,8 @@ impl World {
} }
} }
pub fn save(&self) { pub fn save(&self) {
log::info!("{:?}", std::fs::create_dir(&self.name)); let result = std::fs::create_dir(&self.name);
log::info!("{result:?}");
std::env::set_current_dir(&self.name).unwrap(); std::env::set_current_dir(&self.name).unwrap();
self.save_meta(); self.save_meta();
self.player.save(); self.player.save();
@ -74,10 +75,8 @@ impl World {
name: self.name.clone(), name: self.name.clone(),
ticks: self.ticks, ticks: self.ticks,
}; };
log::info!( let result = std::fs::write("world.dat", rmp_serde::to_vec(&meta).unwrap());
"{:?}", log::info!("{result:?}");
std::fs::write("world.dat", rmp_serde::to_vec(&meta).unwrap())
);
} }
pub fn save_chunks(&self) { pub fn save_chunks(&self) {
for (pos, chk) in self.chunks.iter() { for (pos, chk) in self.chunks.iter() {
@ -126,10 +125,8 @@ impl World {
.unwrap(); .unwrap();
assert_eq!(f.stream_position().unwrap(), 8); assert_eq!(f.stream_position().unwrap(), 8);
assert_eq!(region_tile_data.len(), REGION_BYTES); assert_eq!(region_tile_data.len(), REGION_BYTES);
log::info!( let result = f.write_all(&zstd::encode_all(&region_tile_data[..], COMP_LEVEL).unwrap());
"{:?}", log::info!("{result:?}");
f.write_all(&zstd::encode_all(&region_tile_data[..], COMP_LEVEL).unwrap())
);
} }
} }
} }
@ -284,15 +281,14 @@ impl Chunk {
pub fn load_or_gen(chk: ChunkPos, worldgen: &Worldgen, world_name: &str) -> Chunk { pub fn load_or_gen(chk: ChunkPos, worldgen: &Worldgen, world_name: &str) -> Chunk {
log::info!("Loading chunk {chk:?} (reg: {:?})", chk.region()); log::info!("Loading chunk {chk:?} (reg: {:?})", chk.region());
let prev_dir = std::env::current_dir().unwrap(); let prev_dir = std::env::current_dir().unwrap();
log::info!("{:?}", std::env::set_current_dir(world_name)); let result = std::env::set_current_dir(world_name);
log::info!("{result:?}");
let reg_filename = format_reg_file_name(chk.region()); let reg_filename = format_reg_file_name(chk.region());
let chunk = if chunk_exists(&reg_filename, chk) { let chunk = if chunk_exists(&reg_filename, chk) {
log::info!("Chunk exists, loading"); log::info!("Chunk exists, loading");
let mut f = File::open(&reg_filename).unwrap(); let mut f = File::open(&reg_filename).unwrap();
log::info!( let bitset = ExistenceBitset::read_from_file(&mut f);
"Existence bitset: {:?}", log::info!("Existence bitset: {bitset:?}");
ExistenceBitset::read_from_file(&mut f)
);
assert_eq!(f.stream_position().unwrap(), 8); assert_eq!(f.stream_position().unwrap(), 8);
let decomp_data = zstd::decode_all(f).unwrap(); let decomp_data = zstd::decode_all(f).unwrap();
assert_eq!(decomp_data.len(), REGION_BYTES); assert_eq!(decomp_data.len(), REGION_BYTES);
@ -302,7 +298,8 @@ impl Chunk {
log::warn!("Chunk at {:?} doesn't exist, generating.", chk); log::warn!("Chunk at {:?} doesn't exist, generating.", chk);
Chunk::gen(chk, worldgen) Chunk::gen(chk, worldgen)
}; };
log::info!("{:?}", std::env::set_current_dir(prev_dir)); let result = std::env::set_current_dir(prev_dir);
log::info!("{result:?}");
chunk chunk
} }