Crates.io | esl |
lib.rs | esl |
version | 0.18.0 |
source | src |
created_at | 2020-03-01 12:00:05.823733 |
updated_at | 2023-10-06 10:37:08.512196 |
description | A library for reading, writing and processing ESM/ESP/ESS files. |
homepage | |
repository | https://github.com/A1-Triard/esl |
max_upload_size | |
id | 214157 |
size | 450,884 |
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();
}
}