From ee3db7ea6f80e31e31958848b5138e2a5c848af5 Mon Sep 17 00:00:00 2001 From: yum Date: Mon, 17 Mar 2025 19:35:50 -0700 Subject: finish converting decals to static branching with shitty hacks --- 2ner.shader | 16 ++++++------ decals.cginc | 80 +++++++++++++++++++++++++++++----------------------------- features.cginc | 10 +++++++- 3 files changed, 57 insertions(+), 49 deletions(-) diff --git a/2ner.shader b/2ner.shader index 4a20161..6d8a289 100644 --- a/2ner.shader +++ b/2ner.shader @@ -299,8 +299,8 @@ Shader "yum_food/2ner" _Decal0_Opacity("Opacity", Range(0, 1)) = 1.0 _Decal0_Angle("Angle", Range(0, 1)) = 0.0 _Decal0_UV_Channel("UV channel", Range(0, 1)) = 0 - [ThryWideEnum(Clamp, 0, Tiling, 1)]_Decal0_Tiling_Mode("Tiling mode", Int) = 0 - [ThryWideEnum(AlphaBlend, 0, Replace, 1)]_Decal0_Alpha_Blend_Mode("Alpha blend mode", Int) = 0 + [ThryToggle(_DECAL0_TILING_MODE)] _Decal0_Tiling_Mode("Tiling mode", Float) = 0 + [ThryToggle(_DECAL0_REPLACE_ALPHA)] _Decal0_Replace_Alpha_Mode("Replace alpha", Float) = 0 //ifex _Decal0_Normal_Enabled==0 [HideInInspector] m_start_Decal0_Normal("Normal", Float) = 0 [ThryToggle(_DECAL0_NORMAL)] _Decal0_Normal_Enabled("Enable", Float) = 0 @@ -341,8 +341,8 @@ Shader "yum_food/2ner" _Decal1_Opacity("Opacity", Range(0, 1)) = 1.0 _Decal1_Angle("Angle", Range(0, 1)) = 0.0 _Decal1_UV_Channel("UV channel", Range(0, 1)) = 0 - [ThryWideEnum(Clamp, 0, Tiling, 1)]_Decal1_Tiling_Mode("Tiling mode", Int) = 0 - [ThryWideEnum(AlphaBlend, 0, Replace, 1)]_Decal1_Alpha_Blend_Mode("Alpha blend mode", Int) = 0 + [ThryToggle(_DECAL1_TILING_MODE)] _Decal1_Tiling_Mode("Tiling mode", Float) = 0 + [ThryToggle(_DECAL1_REPLACE_ALPHA)] _Decal1_Replace_Alpha_Mode("Replace alpha", Float) = 0 //ifex _Decal1_Normal_Enabled==0 [HideInInspector] m_start_Decal1_Normal("Normal", Float) = 0 [ThryToggle(_DECAL1_NORMAL)] _Decal1_Normal_Enabled("Enable", Float) = 0 @@ -383,8 +383,8 @@ Shader "yum_food/2ner" _Decal2_Opacity("Opacity", Range(0, 1)) = 1.0 _Decal2_Angle("Angle", Range(0, 1)) = 0.0 _Decal2_UV_Channel("UV channel", Range(0, 1)) = 0 - [ThryWideEnum(Clamp, 0, Tiling, 1)]_Decal2_Tiling_Mode("Tiling mode", Int) = 0 - [ThryWideEnum(AlphaBlend, 0, Replace, 1)]_Decal2_Alpha_Blend_Mode("Alpha blend mode", Int) = 0 + [ThryToggle(_DECAL2_TILING_MODE)] _Decal2_Tiling_Mode("Tiling mode", Float) = 0 + [ThryToggle(_DECAL2_REPLACE_ALPHA)] _Decal2_Replace_Alpha_Mode("Replace alpha", Float) = 0 //ifex _Decal2_Normal_Enabled==0 [HideInInspector] m_start_Decal2_Normal("Normal", Float) = 0 [ThryToggle(_DECAL2_NORMAL)] _Decal2_Normal_Enabled("Enable", Float) = 0 @@ -425,8 +425,8 @@ Shader "yum_food/2ner" _Decal3_Opacity("Opacity", Range(0, 1)) = 1.0 _Decal3_Angle("Angle", Range(0, 1)) = 0.0 _Decal3_UV_Channel("UV channel", Range(0, 1)) = 0 - [ThryWideEnum(Clamp, 0, Tiling, 1)]_Decal3_Tiling_Mode("Tiling mode", Int) = 0 - [ThryWideEnum(AlphaBlend, 0, Replace, 1)]_Decal3_Alpha_Blend_Mode("Alpha blend mode", Int) = 0 + [ThryToggle(_DECAL3_TILING_MODE)] _Decal3_Tiling_Mode("Tiling mode", Float) = 0 + [ThryToggle(_DECAL3_REPLACE_ALPHA)] _Decal3_Replace_Alpha_Mode("Replace alpha", Float) = 0 //ifex _Decal3_Normal_Enabled==0 [HideInInspector] m_start_Decal3_Normal("Normal", Float) = 0 [ThryToggle(_DECAL3_NORMAL)] _Decal3_Normal_Enabled("Enable", Float) = 0 diff --git a/decals.cginc b/decals.cginc index bf09b6c..c120c79 100644 --- a/decals.cginc +++ b/decals.cginc @@ -130,21 +130,21 @@ void applyDecals(in v2f i, inout float4 albedo, inout float3 normal_tangent, ino #else APPLY_DECAL_SEC01_SDF_OFF(i, albedo, normal_tangent, metallic, smoothness, decal); #endif - if (decal.tiling_mode == DECAL_TILING_MODE_CLAMP) { - APPLY_DECAL_SEC02_CLAMP_ON(i, albedo, normal_tangent, metallic, smoothness, decal); - } else { - APPLY_DECAL_SEC02_CLAMP_OFF(i, albedo, normal_tangent, metallic, smoothness, decal); - } + #if defined(_DECAL0_TILING_MODE) + APPLY_DECAL_SEC02_CLAMP_OFF(i, albedo, normal_tangent, metallic, smoothness, decal); + #else + APPLY_DECAL_SEC02_CLAMP_ON(i, albedo, normal_tangent, metallic, smoothness, decal); + #endif #if defined(_DECAL0_MASK) APPLY_DECAL_SEC03_MASK_ON(i, albedo, normal_tangent, metallic, smoothness, decal); #else APPLY_DECAL_SEC03_MASK_OFF(i, albedo, normal_tangent, metallic, smoothness, decal); #endif - if (decal.alpha_blend_mode == DECAL_ALPHA_BLEND_MODE_ALPHA_BLEND) { - APPLY_DECAL_SEC04_BLEND_MODE_ALPHA_BLEND(i, albedo, normal_tangent, metallic, smoothness, decal); - } else { - APPLY_DECAL_SEC04_BLEND_MODE_REPLACE(i, albedo, normal_tangent, metallic, smoothness, decal); - } + #if defined(_DECAL0_REPLACE_ALPHA) + APPLY_DECAL_SEC04_BLEND_MODE_REPLACE(i, albedo, normal_tangent, metallic, smoothness, decal); + #else + APPLY_DECAL_SEC04_BLEND_MODE_ALPHA_BLEND(i, albedo, normal_tangent, metallic, smoothness, decal); + #endif #if defined(_DECAL0_NORMAL) APPLY_DECAL_SEC05_NORMAL_ON(i, albedo, normal_tangent, metallic, smoothness, decal); #else @@ -166,21 +166,21 @@ void applyDecals(in v2f i, inout float4 albedo, inout float3 normal_tangent, ino #else APPLY_DECAL_SEC01_SDF_OFF(i, albedo, normal_tangent, metallic, smoothness, decal); #endif - if (decal.tiling_mode == DECAL_TILING_MODE_CLAMP) { - APPLY_DECAL_SEC02_CLAMP_ON(i, albedo, normal_tangent, metallic, smoothness, decal); - } else { - APPLY_DECAL_SEC02_CLAMP_OFF(i, albedo, normal_tangent, metallic, smoothness, decal); - } + #if defined(_DECAL1_TILING_MODE) + APPLY_DECAL_SEC02_CLAMP_OFF(i, albedo, normal_tangent, metallic, smoothness, decal); + #else + APPLY_DECAL_SEC02_CLAMP_ON(i, albedo, normal_tangent, metallic, smoothness, decal); + #endif #if defined(_DECAL1_MASK) APPLY_DECAL_SEC03_MASK_ON(i, albedo, normal_tangent, metallic, smoothness, decal); #else APPLY_DECAL_SEC03_MASK_OFF(i, albedo, normal_tangent, metallic, smoothness, decal); #endif - if (decal.alpha_blend_mode == DECAL_ALPHA_BLEND_MODE_ALPHA_BLEND) { - APPLY_DECAL_SEC04_BLEND_MODE_ALPHA_BLEND(i, albedo, normal_tangent, metallic, smoothness, decal); - } else { - APPLY_DECAL_SEC04_BLEND_MODE_REPLACE(i, albedo, normal_tangent, metallic, smoothness, decal); - } + #if defined(_DECAL1_REPLACE_ALPHA) + APPLY_DECAL_SEC04_BLEND_MODE_REPLACE(i, albedo, normal_tangent, metallic, smoothness, decal); + #else + APPLY_DECAL_SEC04_BLEND_MODE_ALPHA_BLEND(i, albedo, normal_tangent, metallic, smoothness, decal); + #endif #if defined(_DECAL1_NORMAL) APPLY_DECAL_SEC05_NORMAL_ON(i, albedo, normal_tangent, metallic, smoothness, decal); #else @@ -202,21 +202,21 @@ void applyDecals(in v2f i, inout float4 albedo, inout float3 normal_tangent, ino #else APPLY_DECAL_SEC01_SDF_OFF(i, albedo, normal_tangent, metallic, smoothness, decal); #endif - if (decal.tiling_mode == DECAL_TILING_MODE_CLAMP) { - APPLY_DECAL_SEC02_CLAMP_ON(i, albedo, normal_tangent, metallic, smoothness, decal); - } else { - APPLY_DECAL_SEC02_CLAMP_OFF(i, albedo, normal_tangent, metallic, smoothness, decal); - } + #if defined(_DECAL2_TILING_MODE) + APPLY_DECAL_SEC02_CLAMP_OFF(i, albedo, normal_tangent, metallic, smoothness, decal); + #else + APPLY_DECAL_SEC02_CLAMP_ON(i, albedo, normal_tangent, metallic, smoothness, decal); + #endif #if defined(_DECAL2_MASK) APPLY_DECAL_SEC03_MASK_ON(i, albedo, normal_tangent, metallic, smoothness, decal); #else APPLY_DECAL_SEC03_MASK_OFF(i, albedo, normal_tangent, metallic, smoothness, decal); #endif - if (decal.alpha_blend_mode == DECAL_ALPHA_BLEND_MODE_ALPHA_BLEND) { - APPLY_DECAL_SEC04_BLEND_MODE_ALPHA_BLEND(i, albedo, normal_tangent, metallic, smoothness, decal); - } else { - APPLY_DECAL_SEC04_BLEND_MODE_REPLACE(i, albedo, normal_tangent, metallic, smoothness, decal); - } + #if defined(_DECAL2_REPLACE_ALPHA) + APPLY_DECAL_SEC04_BLEND_MODE_REPLACE(i, albedo, normal_tangent, metallic, smoothness, decal); + #else + APPLY_DECAL_SEC04_BLEND_MODE_ALPHA_BLEND(i, albedo, normal_tangent, metallic, smoothness, decal); + #endif #if defined(_DECAL2_NORMAL) APPLY_DECAL_SEC05_NORMAL_ON(i, albedo, normal_tangent, metallic, smoothness, decal); #else @@ -238,21 +238,21 @@ void applyDecals(in v2f i, inout float4 albedo, inout float3 normal_tangent, ino #else APPLY_DECAL_SEC01_SDF_OFF(i, albedo, normal_tangent, metallic, smoothness, decal); #endif - if (decal.tiling_mode == DECAL_TILING_MODE_CLAMP) { - APPLY_DECAL_SEC02_CLAMP_ON(i, albedo, normal_tangent, metallic, smoothness, decal); - } else { - APPLY_DECAL_SEC02_CLAMP_OFF(i, albedo, normal_tangent, metallic, smoothness, decal); - } + #if defined(_DECAL3_TILING_MODE) + APPLY_DECAL_SEC02_CLAMP_OFF(i, albedo, normal_tangent, metallic, smoothness, decal); + #else + APPLY_DECAL_SEC02_CLAMP_ON(i, albedo, normal_tangent, metallic, smoothness, decal); + #endif #if defined(_DECAL3_MASK) APPLY_DECAL_SEC03_MASK_ON(i, albedo, normal_tangent, metallic, smoothness, decal); #else APPLY_DECAL_SEC03_MASK_OFF(i, albedo, normal_tangent, metallic, smoothness, decal); #endif - if (decal.alpha_blend_mode == DECAL_ALPHA_BLEND_MODE_ALPHA_BLEND) { - APPLY_DECAL_SEC04_BLEND_MODE_ALPHA_BLEND(i, albedo, normal_tangent, metallic, smoothness, decal); - } else { - APPLY_DECAL_SEC04_BLEND_MODE_REPLACE(i, albedo, normal_tangent, metallic, smoothness, decal); - } + #if defined(_DECAL3_REPLACE_ALPHA) + APPLY_DECAL_SEC04_BLEND_MODE_REPLACE(i, albedo, normal_tangent, metallic, smoothness, decal); + #else + APPLY_DECAL_SEC04_BLEND_MODE_ALPHA_BLEND(i, albedo, normal_tangent, metallic, smoothness, decal); + #endif #if defined(_DECAL3_NORMAL) APPLY_DECAL_SEC05_NORMAL_ON(i, albedo, normal_tangent, metallic, smoothness, decal); #else diff --git a/features.cginc b/features.cginc index 9a0d838..d263ca8 100644 --- a/features.cginc +++ b/features.cginc @@ -113,6 +113,8 @@ #pragma shader_feature_local _DECAL0_REFLECTIONS #pragma shader_feature_local _DECAL0_SDF #pragma shader_feature_local _DECAL0_MASK +#pragma shader_feature_local _DECAL0_TILING_MODE +#pragma shader_feature_local _DECAL0_REPLACE_ALPHA //endex //ifex _Decal1_Enabled==0 #pragma shader_feature_local _DECAL1 @@ -120,6 +122,8 @@ #pragma shader_feature_local _DECAL1_REFLECTIONS #pragma shader_feature_local _DECAL1_SDF #pragma shader_feature_local _DECAL1_MASK +#pragma shader_feature_local _DECAL1_TILING_MODE +#pragma shader_feature_local _DECAL1_REPLACE_ALPHA //endex //ifex _Decal2_Enabled==0 #pragma shader_feature_local _DECAL2 @@ -127,6 +131,8 @@ #pragma shader_feature_local _DECAL2_REFLECTIONS #pragma shader_feature_local _DECAL2_SDF #pragma shader_feature_local _DECAL2_MASK +#pragma shader_feature_local _DECAL2_TILING_MODE +#pragma shader_feature_local _DECAL2_REPLACE_ALPHA //endex //ifex _Decal3_Enabled==0 #pragma shader_feature_local _DECAL3 @@ -134,7 +140,9 @@ #pragma shader_feature_local _DECAL3_REFLECTIONS #pragma shader_feature_local _DECAL3_SDF #pragma shader_feature_local _DECAL3_MASK - +#pragma shader_feature_local _DECAL3_TILING_MODE +#pragma shader_feature_local _DECAL3_REPLACE_ALPHA +//endex //ifex _Vertex_Domain_Warping_Enabled==0 #pragma shader_feature_local _VERTEX_DOMAIN_WARPING //endex -- cgit v1.2.3