From ea37afe9ae9a1607fa3b6f365b9307c579c45b8d Mon Sep 17 00:00:00 2001 From: metamuffin Date: Sat, 11 Jun 2022 16:33:15 +0200 Subject: savestating --- karld/src/main.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'karld/src/main.rs') diff --git a/karld/src/main.rs b/karld/src/main.rs index 2d0c9e9..181c2be 100644 --- a/karld/src/main.rs +++ b/karld/src/main.rs @@ -1,6 +1,7 @@ pub mod condition; pub mod helper; pub mod interface; +pub mod savestate; pub mod schedule; use chrono::NaiveDateTime; @@ -11,12 +12,15 @@ use interface::network_loop; use karlcommon::{ ClientboundPacket, Condition, Instance, Property, ProtoError, Schedule, ServerboundPacket, Task, }; -use log::{debug, info}; +use log::{debug, error, info}; use std::{collections::HashMap, sync::RwLock}; fn main() { env_logger::init(); info!("logging"); + if let Err(e) = savestate::load() { + error!("load failed: {}", e); + } TASKS.write().unwrap().insert( 0, Task { @@ -88,11 +92,13 @@ pub fn handle_packet(client: u32, packet: ServerboundPacket, responder: Sender { TASKS.write().unwrap().insert(t.id, t); + savestate::save(); } ServerboundPacket::RemoveTask(i) => { if TASKS.write().unwrap().remove(&i).is_none() { let _ = responder.send(ClientboundPacket::Error(ProtoError::UnknownTask)); } + savestate::save(); } ServerboundPacket::Handshake { version } => { debug!("{client}: version {version}"); -- cgit v1.2.3-70-g09d2