mirror of
https://codeberg.org/icewind/vmdl.git
synced 2026-06-03 08:34:23 +02:00
add from_path to lib
This commit is contained in:
parent
44be60641b
commit
92449728fb
3 changed files with 22 additions and 31 deletions
|
|
@ -15,8 +15,8 @@ use gltf_json::Index;
|
|||
use std::borrow::Cow;
|
||||
use std::env::args_os;
|
||||
use std::io::Write;
|
||||
use std::path::{Path, PathBuf};
|
||||
use vmdl::{Mdl, Model, Vtx, Vvd};
|
||||
use std::path::PathBuf;
|
||||
use vmdl::Model;
|
||||
|
||||
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
|
||||
enum Output {
|
||||
|
|
@ -141,20 +141,9 @@ fn export(model: Model, output: Output) -> Result<(), Error> {
|
|||
Ok(())
|
||||
}
|
||||
|
||||
fn load(path: &Path) -> Result<Model, vmdl::ModelError> {
|
||||
let data = fs::read(path)?;
|
||||
let mdl = Mdl::read(&data)?;
|
||||
let data = fs::read(path.with_extension("dx90.vtx"))?;
|
||||
let vtx = Vtx::read(&data)?;
|
||||
let data = fs::read(path.with_extension("vvd"))?;
|
||||
let vvd = Vvd::read(&data)?;
|
||||
|
||||
Ok(Model::from_parts(mdl, vtx, vvd))
|
||||
}
|
||||
|
||||
fn main() -> Result<(), Error> {
|
||||
let path = PathBuf::from(args_os().nth(1).expect("No model file provided"));
|
||||
let source_model = load(&path)?;
|
||||
let source_model = Model::from_path(&path)?;
|
||||
|
||||
export(source_model, Output::Binary)?;
|
||||
Ok(())
|
||||
|
|
|
|||
|
|
@ -4,14 +4,10 @@ mod material;
|
|||
use crate::loader::{LoadError, Loader};
|
||||
use crate::material::load_material_fallback;
|
||||
use std::env::args_os;
|
||||
use std::fs;
|
||||
use std::path::{Path, PathBuf};
|
||||
use std::path::PathBuf;
|
||||
use thiserror::Error;
|
||||
use three_d::*;
|
||||
use tracing::error;
|
||||
use vmdl::mdl::Mdl;
|
||||
use vmdl::vtx::Vtx;
|
||||
use vmdl::vvd::Vvd;
|
||||
use vmdl::{Model, Vector};
|
||||
|
||||
#[derive(Debug, Error)]
|
||||
|
|
@ -51,7 +47,7 @@ fn main() -> Result<(), Error> {
|
|||
let mut args = args_os();
|
||||
let _ = args.next();
|
||||
let path = PathBuf::from(args.next().expect("No demo file provided"));
|
||||
let source_model = load(&path).unwrap();
|
||||
let source_model = Model::from_path(&path)?;
|
||||
|
||||
let window = Window::new(WindowSettings {
|
||||
title: path.display().to_string(),
|
||||
|
|
@ -247,17 +243,6 @@ fn main() -> Result<(), Error> {
|
|||
Ok(())
|
||||
}
|
||||
|
||||
fn load(path: &Path) -> Result<Model, vmdl::ModelError> {
|
||||
let data = fs::read(path)?;
|
||||
let mdl = Mdl::read(&data)?;
|
||||
let data = fs::read(path.with_extension("dx90.vtx"))?;
|
||||
let vtx = Vtx::read(&data)?;
|
||||
let data = fs::read(path.with_extension("vvd"))?;
|
||||
let vvd = Vvd::read(&data)?;
|
||||
|
||||
Ok(Model::from_parts(mdl, vtx, vvd))
|
||||
}
|
||||
|
||||
// 1 hammer unit is ~1.905cm
|
||||
const UNIT_SCALE: f32 = 1.0 / (1.905 * 100.0);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue