summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs19
1 files changed, 5 insertions, 14 deletions
diff --git a/src/main.rs b/src/main.rs
index d54bfea..f12759c 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -17,32 +17,23 @@
#[macro_use]
extern crate simple_error;
-use std::fs::File; // Temporary, used for 'extract'.
-use std::io::Write; // Temporary, used for 'extract'.
use std::process;
-mod fmt;
+mod grp;
mod path;
-
-// This function is strictly temporary and exists only to help me get samples of
-// binary files to inspect in radare.
-fn extract(name: &str, group_manager: &fmt::GroupManager) {
- let output_path = format!("/tmp/{}", name);
- let mut file = File::create(output_path).unwrap();
- file.write_all(group_manager.get(name).unwrap()).ok();
-}
+mod world;
fn main() {
let path_manager = path::PathManager::new();
let filename = "DUKE3D.GRP";
- let mut group_manager = fmt::GroupManager::new(path_manager);
+ let mut group_manager = grp::GroupManager::new(path_manager);
if let Err(e) = group_manager.load_file(filename) {
println!("Couldn't open {}: {}", filename, e);
process::exit(1);
}
- extract("PALETTE.DAT", &group_manager);
- // println!("DOGWHINE.VOC: {} bytes", group_manager.get("DOGWHINE.VOC").unwrap().len());
+ let map = group_manager.get("E1L1.MAP").unwrap();
+ let world = world::World::from_map(map);
}