vmt_parser/material/
lightmappedgeneric.rs1use super::deserialize_path;
2use crate::{
3 default_detail_scale, default_scale, default_scale3, BlendMode, TextureTransform, Vec2, Vec3,
4};
5use serde::{Deserialize, Serialize};
6
7#[derive(Debug, Clone, Serialize, Deserialize)]
8pub struct LightMappedGenericMaterial {
9 #[serde(rename = "$basetexture", deserialize_with = "deserialize_path")]
11 pub base_texture: String,
12 #[serde(rename = "$decal", default)]
14 pub decal: bool,
15 #[serde(rename = "$detail", default, deserialize_with = "deserialize_path")]
17 pub detail: Option<String>,
18 #[serde(rename = "$surfaceprop", default)]
20 pub surface_prop: Option<String>,
21
22 #[serde(rename = "$basetexturetransform", default)]
24 pub base_texture_transform: TextureTransform,
25 #[serde(rename = "$color", default = "default_scale3")]
27 pub color: Vec3,
28 #[serde(rename = "$decalscale", default = "default_scale")]
30 pub decal_scale: f32,
31 #[serde(rename = "$decalscale", default = "default_detail_scale")]
32 pub detail_scale: Vec2,
34 #[serde(rename = "$detailblendfactor", default = "default_scale")]
36 pub detail_blend_factor: f32,
37 #[serde(rename = "$detailblendmode", default)]
39 pub detail_blend_mode: BlendMode,
40 #[serde(
42 rename = "$modelmaterial",
43 default,
44 deserialize_with = "deserialize_path"
45 )]
46 pub model_material: Option<String>,
47 #[serde(rename = "$pointsamplemagfilter", default)]
49 pub point_sample_mag_filter: bool,
50 #[serde(rename = "$seamless_scale", default = "default_scale")]
52 pub seamless_scale: f32,
53
54 #[serde(rename = "$alpha", default = "default_scale")]
56 pub alpha: f32,
57 #[serde(rename = "$alphatest", default)]
59 pub alpha_test: bool,
60 #[serde(rename = "$alphatestreference", default = "default_scale")]
62 pub alpha_test_reference: f32,
63 #[serde(rename = "$distancealpha", default)]
65 pub distance_alpha: bool,
66 #[serde(rename = "$nocull", default)]
68 pub no_cull: bool,
69 #[serde(rename = "$translucent", default)]
71 pub translucent: bool,
72
73 #[serde(rename = "$bumpmap", default, deserialize_with = "deserialize_path")]
75 pub bump_map: Option<String>,
76 #[serde(
78 rename = "$lightwarptexture",
79 default,
80 deserialize_with = "deserialize_path"
81 )]
82 pub light_wrap_texture: Option<String>,
83 #[serde(rename = "$selfillum", default)]
85 pub self_illum: bool,
86 #[serde(rename = "$ssbump", default)]
88 pub ss_bump: bool,
89
90 #[serde(rename = "$envmap", default, deserialize_with = "deserialize_path")]
92 pub env_map: Option<String>,
93 #[serde(rename = "$phong", default)]
95 pub phong: f32,
96
97 #[serde(rename = "$nofog", default)]
99 pub no_fog: bool,
100
101 #[serde(rename = "$ignorez", default)]
103 pub ignore_z: bool,
104}