vmt_parser/material/
worldvertextransition.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 WorldVertexTransitionMaterial {
9 #[serde(rename = "$basetexture", deserialize_with = "deserialize_path")]
11 pub base_texture: String,
12 #[serde(rename = "$basetexture2", deserialize_with = "deserialize_path")]
14 pub base_texture2: String,
15 #[serde(
17 rename = "$blendmodulatetexture",
18 default,
19 deserialize_with = "deserialize_path"
20 )]
21 pub blend_modulate_texture: Option<String>,
22 #[serde(rename = "$decal", default)]
24 pub decal: bool,
25 #[serde(rename = "$detail", default)]
27 pub detail: Option<String>,
28 #[serde(rename = "$surfaceprop", default)]
30 pub surface_prop: Option<String>,
31
32 #[serde(rename = "$basetexturetransform", default)]
34 pub base_texture_transform: TextureTransform,
35 #[serde(rename = "$color", default = "default_scale3")]
37 pub color: Vec3,
38 #[serde(rename = "$decalscale", default = "default_scale")]
40 pub decal_scale: f32,
41 #[serde(rename = "$decalscale", default = "default_detail_scale")]
42 pub detail_scale: Vec2,
44 #[serde(rename = "$detailblendfactor", default = "default_scale")]
46 pub detail_blend_factor: f32,
47 #[serde(rename = "$detailblendmode", default)]
49 pub detail_blend_mode: BlendMode,
50 #[serde(
52 rename = "$modelmaterial",
53 default,
54 deserialize_with = "deserialize_path"
55 )]
56 pub model_material: Option<String>,
57 #[serde(rename = "$pointsamplemagfilter", default)]
59 pub point_sample_mag_filter: bool,
60 #[serde(rename = "$seamless_scale", default = "default_scale")]
62 pub seamless_scale: f32,
63
64 #[serde(rename = "$alpha", default = "default_scale")]
66 pub alpha: f32,
67 #[serde(rename = "$alphatest", default)]
69 pub alpha_test: bool,
70 #[serde(rename = "$alphatestreference", default = "default_scale")]
72 pub alpha_test_reference: f32,
73 #[serde(rename = "$distancealpha", default)]
75 pub distance_alpha: bool,
76 #[serde(rename = "$nocull", default)]
78 pub no_cull: bool,
79 #[serde(rename = "$translucent", default)]
81 pub translucent: bool,
82
83 #[serde(rename = "$bumpmap", default, deserialize_with = "deserialize_path")]
85 pub bump_map: Option<String>,
86 #[serde(rename = "$bumpmap2", default, deserialize_with = "deserialize_path")]
88 pub bump_map2: Option<String>,
89 #[serde(
91 rename = "$lightwarptexture",
92 default,
93 deserialize_with = "deserialize_path"
94 )]
95 pub light_wrap_texture: Option<String>,
96 #[serde(rename = "$selfillum", default)]
98 pub self_illum: bool,
99 #[serde(rename = "$ssbump", default)]
101 pub ss_bump: bool,
102
103 #[serde(rename = "$envmap", default, deserialize_with = "deserialize_path")]
105 pub env_map: Option<String>,
106 #[serde(rename = "$phong", default)]
108 pub phong: f32,
109
110 #[serde(rename = "$nofog", default)]
112 pub no_fog: bool,
113
114 #[serde(rename = "$ignorez", default)]
116 pub ignore_z: bool,
117}