diff --git a/.gitignore b/.gitignore index ade3621..ea8c4bf 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1 @@ /target -exported_symbols.txt -patchData.json diff --git a/Cargo.lock b/Cargo.lock index d1c609f..664456c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -13,7 +13,7 @@ name = "bin_comp" version = "0.1.0" dependencies = [ "anyhow", - "enemize", + "serde", "serde_json", "tempfile", ] @@ -31,12 +31,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] -name = "enemize" +name = "enemize-rs" version = "0.1.0" dependencies = [ - "anyhow", - "serde", - "serde_json", + "md5", ] [[package]] diff --git a/enemize/Cargo.toml b/enemize/Cargo.toml index a2cf87f..c59205e 100644 --- a/enemize/Cargo.toml +++ b/enemize/Cargo.toml @@ -1,11 +1,9 @@ [package] -name = "enemize" +name = "enemize-rs" version = "0.1.0" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -anyhow = "1" -serde = { version = "1.0", features = ["derive"] } -serde_json = "1.0" +serde = { version = 1.0, features = ["derive"] } diff --git a/enemize/src/lib.rs b/enemize/src/lib.rs index eda29ef..d2ba5b0 100644 --- a/enemize/src/lib.rs +++ b/enemize/src/lib.rs @@ -1,40 +1,40 @@ -use std::fs::File; +use std::io::Read; use std::path::{Path, PathBuf}; -use serde::{Deserialize, Serialize}; +use serde::Serialize; pub mod rom; -#[derive(Deserialize, Serialize)] +#[derive(Serialize)] pub struct Patch { pub address: usize, pub patch_data: Vec, } -#[derive(Deserialize, Serialize)] +#[derive(Serialize)] pub struct PatchSet { filename: PathBuf, - patches: Vec, + patches: Vec } impl PatchSet { - pub fn load(filename: &Path) -> Result { + pub fn load(filename: Path) -> Result { let patches = { - let file = File::open(filename)?; - let buffer = std::io::BufReader::new(file); + let mut file = File::open(filename)?; + let mut buffer = std::io::BufReader::new(file); serde_json::from_reader(buffer)? }; - Ok(PatchSet { + PatchSet { filename: filename.into(), - patches: patches, - }) + patches: patches + } } - pub fn filename(&self) -> &Path { + pub fn filename(&self) -> Path { self.filename.as_path() } - pub fn patch_rom(self, rom: &mut RomData) { + pub fn patchRom(&self, &mut rom: RomData) { for patch in self.patches { rom.patch_data(patch); }