mirror of
https://codeberg.org/icewind/vdf-reader.git
synced 2026-06-03 18:14:07 +02:00
serde
This commit is contained in:
parent
26c9b82b8e
commit
1f0a53d241
14 changed files with 1219 additions and 100 deletions
38
examples/serde.rs
Normal file
38
examples/serde.rs
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
use miette::{Context, IntoDiagnostic, Result};
|
||||
use serde::Deserialize;
|
||||
use std::env::args;
|
||||
use std::fs::read_to_string;
|
||||
use vdf_reader::from_str;
|
||||
|
||||
#[derive(Debug, Deserialize)]
|
||||
#[allow(dead_code)]
|
||||
enum Material {
|
||||
LightmappedGeneric {
|
||||
#[serde(rename = "$baseTexture")]
|
||||
base_texture: String,
|
||||
#[serde(rename = "$bumpmap")]
|
||||
bumpmap: String,
|
||||
#[serde(rename = "$ssbump")]
|
||||
ssbump: bool,
|
||||
#[serde(rename = "%keywords")]
|
||||
keywords: String,
|
||||
#[serde(rename = "$detail")]
|
||||
detail: String,
|
||||
#[serde(rename = "$detailscale")]
|
||||
detailscale: f32,
|
||||
#[serde(rename = "$detailblendmode")]
|
||||
detailblendmode: i32,
|
||||
#[serde(rename = "$detailblendfactor")]
|
||||
detailblendfactor: f32,
|
||||
},
|
||||
}
|
||||
|
||||
fn main() -> Result<()> {
|
||||
let path = args().nth(1).expect("no path provided");
|
||||
let raw = read_to_string(path)
|
||||
.into_diagnostic()
|
||||
.wrap_err("failed to read input")?;
|
||||
let material: Material = from_str(&raw)?;
|
||||
dbg!(material);
|
||||
Ok(())
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue