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(()) } }