39 releases (17 breaking)
0.17.1 | Dec 22, 2022 |
---|---|
0.16.0 | Dec 17, 2022 |
0.10.4 | Nov 10, 2022 |
0.9.3 | Jul 3, 2022 |
0.3.1 | Mar 26, 2020 |
#3 in #esm
152 downloads per month
Used in espa
450KB
11K
SLoC
esl
A library for reading, writing and processing ESM/ESP/ESS files.
use esl::{CodePage, RecordSerde};
use esl::read::{RecordReadMode, Records};
use serde_serialize_seed::{ValueWithSeed, VecSerde};
use std::fs::File;
use std::io::{BufReader, BufWriter};
fn main() {
if let Ok(input) = File::open("Morrowind.esm") {
let mut input = BufReader::new(input);
let records = Records::new(CodePage::Russian, RecordReadMode::Strict, 0, &mut input);
let records = records.map(|x| {
match x {
Ok(mut x) => {
x.fit();
x
},
Err(e) => panic!("{}", e)
}
}).collect::<Vec<_>>();
let output = File::create("Morrowind.esm.yaml").unwrap();
serde_yaml::to_writer(
BufWriter::new(output),
&ValueWithSeed(&records[..], VecSerde(RecordSerde { code_page: None }))
).unwrap();
}
}
Dependencies
~6MB
~107K SLoC