use super::deserialize_path;
use crate::{default_scale, default_scale3, Vec3};
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct UnlitGenericMaterial {
#[serde(
rename = "$basetexture",
default,
deserialize_with = "deserialize_path"
)]
pub base_texture: Option<String>,
#[serde(rename = "$surfaceprop", default)]
pub surface_prop: Option<String>,
#[serde(rename = "$model", default)]
pub model: bool,
#[serde(rename = "$color", default = "default_scale3")]
pub color: Vec3,
#[serde(rename = "$alpha", default = "default_scale")]
pub alpha: f32,
#[serde(rename = "$alphatest", default)]
pub alpha_test: bool,
#[serde(rename = "$alphatestreference", default = "default_scale")]
pub alpha_test_reference: f32,
#[serde(rename = "$nocull", default)]
pub no_cull: bool,
#[serde(rename = "$translucent", default)]
pub translucent: bool,
#[serde(rename = "$bumpmap", default, deserialize_with = "deserialize_path")]
pub bump_map: Option<String>,
#[serde(rename = "$ignorez", default)]
pub ignore_z: bool,
#[serde(rename = "$nofog", default)]
pub no_fog: bool,
#[serde(rename = "$receiveflashlight", default)]
pub receive_flash_light: bool,
#[serde(rename = "singlepassflashlight", default)]
pub single_pass_flash_light: bool,
#[serde(rename = "$no_fullbright", default)]
pub no_full_bright: bool,
}