From 2868f90a7743b775e305504eec2917c599a77934 Mon Sep 17 00:00:00 2001 From: mykola2312 <49044616+mykola2312@users.noreply.github.com> Date: Wed, 30 Aug 2023 21:58:38 +0300 Subject: [PATCH] SGD decoding and encoding fully implemented and tested --- src/fot/sgd.rs | 2 +- src/fot/world.rs | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/fot/sgd.rs b/src/fot/sgd.rs index 8bc1718..1d54fdd 100644 --- a/src/fot/sgd.rs +++ b/src/fot/sgd.rs @@ -38,7 +38,7 @@ impl Decoder for SGD { lines.push(rd.read::(0)?); } - dialogs.insert(names.remove(m), lines); + dialogs.insert(names.remove(0), lines); } let enc_size = rd.offset() - offset; diff --git a/src/fot/world.rs b/src/fot/world.rs index 689d714..fde7725 100644 --- a/src/fot/world.rs +++ b/src/fot/world.rs @@ -27,7 +27,9 @@ impl World { let sgd_start: usize = 0x4E; let sgd = SGD::decode(&self.data, sgd_start, 0)?; dbg!(&sgd); - + let sgd2 = sgd.encode()?; + assert_ne!(self.data.mem[sgd_start..sgd.get_enc_size()], sgd2.mem, "SGD encoding failed"); + Ok(()) } }