| Crates.io | esl |
| lib.rs | esl |
| version | 0.19.3 |
| created_at | 2020-03-01 12:00:05.823733+00 |
| updated_at | 2024-10-29 17:11:13.448966+00 |
| 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 | 461,157 |
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, false, 0, &mut input);
let records = records.map(|x| {
match x {
Ok(mut x) => {
x.fit(false);
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, omwsave: false }))
).unwrap();
}
}