mirror of
https://github.com/Gigaslav/HL2Overcharged.git
synced 2026-01-04 02:10:18 +03:00
250 lines
7.6 KiB
C++
250 lines
7.6 KiB
C++
// ALL SKIP STATEMENTS THAT AFFECT THIS SHADER!!!
|
|
// $DETAILTEXTURE && ( $BUMPMAP && !$DETAIL_ALPHA_MASK_BASE_TEXTURE )
|
|
// !$BUMPMAP && $DIFFUSEBUMPMAP
|
|
// $VERTEXCOLOR && $BUMPMAP
|
|
// FLASHLIGHT && $SELFILLUM
|
|
// FLASHLIGHT && $DETAIL_ALPHA_MASK_BASE_TEXTURE
|
|
// FLASHLIGHT && ($BUMPMAP || $DIFFUSEBUMPMAP)
|
|
// ( $FLASHLIGHT == 0 ) && ( $FLASHLIGHTSHADOWS == 1 )
|
|
// defined $HDRTYPE && defined $HDRENABLED && !$HDRTYPE && $HDRENABLED
|
|
// defined $PIXELFOGTYPE && defined $WRITEWATERFOGTODESTALPHA && ( $PIXELFOGTYPE != 1 ) && $WRITEWATERFOGTODESTALPHA
|
|
// defined $LIGHTING_PREVIEW && defined $HDRTYPE && $LIGHTING_PREVIEW && $HDRTYPE != 0
|
|
// defined $LIGHTING_PREVIEW && defined $FASTPATHENVMAPTINT && $LIGHTING_PREVIEW && $FASTPATHENVMAPTINT
|
|
// defined $LIGHTING_PREVIEW && defined $FASTPATHENVMAPCONTRAST && $LIGHTING_PREVIEW && $FASTPATHENVMAPCONTRAST
|
|
// defined $LIGHTING_PREVIEW && defined $FASTPATH && $LIGHTING_PREVIEW && $FASTPATH
|
|
// ($FLASHLIGHT || $FLASHLIGHTSHADOWS) && $LIGHTING_PREVIEW
|
|
// defined $HDRTYPE && defined $HDRENABLED && !$HDRTYPE && $HDRENABLED
|
|
// defined $PIXELFOGTYPE && defined $WRITEWATERFOGTODESTALPHA && ( $PIXELFOGTYPE != 1 ) && $WRITEWATERFOGTODESTALPHA
|
|
// defined $LIGHTING_PREVIEW && defined $HDRTYPE && $LIGHTING_PREVIEW && $HDRTYPE != 0
|
|
// defined $LIGHTING_PREVIEW && defined $FASTPATHENVMAPTINT && $LIGHTING_PREVIEW && $FASTPATHENVMAPTINT
|
|
// defined $LIGHTING_PREVIEW && defined $FASTPATHENVMAPCONTRAST && $LIGHTING_PREVIEW && $FASTPATHENVMAPCONTRAST
|
|
// defined $LIGHTING_PREVIEW && defined $FASTPATH && $LIGHTING_PREVIEW && $FASTPATH
|
|
// ($FLASHLIGHT || $FLASHLIGHTSHADOWS) && $LIGHTING_PREVIEW
|
|
|
|
#ifndef SDK_WORLDTWOTEXTUREBLEND_PS20B_H
|
|
#define SDK_WORLDTWOTEXTUREBLEND_PS20B_H
|
|
|
|
#include "shaderapi/ishaderapi.h"
|
|
#include "shaderapi/ishadershadow.h"
|
|
#include "materialsystem/imaterialvar.h"
|
|
|
|
class SDK_worldtwotextureblend_ps20b_Static_Index
|
|
{
|
|
unsigned int m_nCONVERT_TO_SRGB : 2;
|
|
unsigned int m_nDETAILTEXTURE : 2;
|
|
unsigned int m_nBUMPMAP : 2;
|
|
unsigned int m_nVERTEXCOLOR : 2;
|
|
unsigned int m_nSELFILLUM : 2;
|
|
unsigned int m_nDIFFUSEBUMPMAP : 2;
|
|
unsigned int m_nDETAIL_ALPHA_MASK_BASE_TEXTURE : 2;
|
|
unsigned int m_nFLASHLIGHT : 2;
|
|
unsigned int m_nSEAMLESS : 2;
|
|
unsigned int m_nFLASHLIGHTDEPTHFILTERMODE : 2;
|
|
#ifdef _DEBUG
|
|
bool m_bDETAILTEXTURE : 1;
|
|
bool m_bBUMPMAP : 1;
|
|
bool m_bVERTEXCOLOR : 1;
|
|
bool m_bSELFILLUM : 1;
|
|
bool m_bDIFFUSEBUMPMAP : 1;
|
|
bool m_bDETAIL_ALPHA_MASK_BASE_TEXTURE : 1;
|
|
bool m_bFLASHLIGHT : 1;
|
|
bool m_bSEAMLESS : 1;
|
|
bool m_bFLASHLIGHTDEPTHFILTERMODE : 1;
|
|
#endif // _DEBUG
|
|
public:
|
|
void SetCONVERT_TO_SRGB( int i )
|
|
{
|
|
Assert( i >= 0 && i <= 1 );
|
|
m_nCONVERT_TO_SRGB = i;
|
|
}
|
|
|
|
void SetDETAILTEXTURE( int i )
|
|
{
|
|
Assert( i >= 0 && i <= 1 );
|
|
m_nDETAILTEXTURE = i;
|
|
#ifdef _DEBUG
|
|
m_bDETAILTEXTURE = true;
|
|
#endif // _DEBUG
|
|
}
|
|
|
|
void SetBUMPMAP( int i )
|
|
{
|
|
Assert( i >= 0 && i <= 1 );
|
|
m_nBUMPMAP = i;
|
|
#ifdef _DEBUG
|
|
m_bBUMPMAP = true;
|
|
#endif // _DEBUG
|
|
}
|
|
|
|
void SetVERTEXCOLOR( int i )
|
|
{
|
|
Assert( i >= 0 && i <= 1 );
|
|
m_nVERTEXCOLOR = i;
|
|
#ifdef _DEBUG
|
|
m_bVERTEXCOLOR = true;
|
|
#endif // _DEBUG
|
|
}
|
|
|
|
void SetSELFILLUM( int i )
|
|
{
|
|
Assert( i >= 0 && i <= 1 );
|
|
m_nSELFILLUM = i;
|
|
#ifdef _DEBUG
|
|
m_bSELFILLUM = true;
|
|
#endif // _DEBUG
|
|
}
|
|
|
|
void SetDIFFUSEBUMPMAP( int i )
|
|
{
|
|
Assert( i >= 0 && i <= 1 );
|
|
m_nDIFFUSEBUMPMAP = i;
|
|
#ifdef _DEBUG
|
|
m_bDIFFUSEBUMPMAP = true;
|
|
#endif // _DEBUG
|
|
}
|
|
|
|
void SetDETAIL_ALPHA_MASK_BASE_TEXTURE( int i )
|
|
{
|
|
Assert( i >= 0 && i <= 1 );
|
|
m_nDETAIL_ALPHA_MASK_BASE_TEXTURE = i;
|
|
#ifdef _DEBUG
|
|
m_bDETAIL_ALPHA_MASK_BASE_TEXTURE = true;
|
|
#endif // _DEBUG
|
|
}
|
|
|
|
void SetFLASHLIGHT( int i )
|
|
{
|
|
Assert( i >= 0 && i <= 1 );
|
|
m_nFLASHLIGHT = i;
|
|
#ifdef _DEBUG
|
|
m_bFLASHLIGHT = true;
|
|
#endif // _DEBUG
|
|
}
|
|
|
|
void SetSEAMLESS( int i )
|
|
{
|
|
Assert( i >= 0 && i <= 1 );
|
|
m_nSEAMLESS = i;
|
|
#ifdef _DEBUG
|
|
m_bSEAMLESS = true;
|
|
#endif // _DEBUG
|
|
}
|
|
|
|
void SetFLASHLIGHTDEPTHFILTERMODE( int i )
|
|
{
|
|
Assert( i >= 0 && i <= 2 );
|
|
m_nFLASHLIGHTDEPTHFILTERMODE = i;
|
|
#ifdef _DEBUG
|
|
m_bFLASHLIGHTDEPTHFILTERMODE = true;
|
|
#endif // _DEBUG
|
|
}
|
|
|
|
SDK_worldtwotextureblend_ps20b_Static_Index( IShaderShadow* pShaderShadow, IMaterialVar** params )
|
|
{
|
|
m_nCONVERT_TO_SRGB = g_pHardwareConfig->NeedsShaderSRGBConversion();
|
|
m_nDETAILTEXTURE = 0;
|
|
m_nBUMPMAP = 0;
|
|
m_nVERTEXCOLOR = 0;
|
|
m_nSELFILLUM = 0;
|
|
m_nDIFFUSEBUMPMAP = 0;
|
|
m_nDETAIL_ALPHA_MASK_BASE_TEXTURE = 0;
|
|
m_nFLASHLIGHT = 0;
|
|
m_nSEAMLESS = 0;
|
|
m_nFLASHLIGHTDEPTHFILTERMODE = 0;
|
|
#ifdef _DEBUG
|
|
m_bDETAILTEXTURE = false;
|
|
m_bBUMPMAP = false;
|
|
m_bVERTEXCOLOR = false;
|
|
m_bSELFILLUM = false;
|
|
m_bDIFFUSEBUMPMAP = false;
|
|
m_bDETAIL_ALPHA_MASK_BASE_TEXTURE = false;
|
|
m_bFLASHLIGHT = false;
|
|
m_bSEAMLESS = false;
|
|
m_bFLASHLIGHTDEPTHFILTERMODE = false;
|
|
#endif // _DEBUG
|
|
}
|
|
|
|
int GetIndex() const
|
|
{
|
|
Assert( m_bDETAILTEXTURE && m_bBUMPMAP && m_bVERTEXCOLOR && m_bSELFILLUM && m_bDIFFUSEBUMPMAP && m_bDETAIL_ALPHA_MASK_BASE_TEXTURE && m_bFLASHLIGHT && m_bSEAMLESS && m_bFLASHLIGHTDEPTHFILTERMODE );
|
|
return ( 16 * m_nCONVERT_TO_SRGB ) + ( 32 * m_nDETAILTEXTURE ) + ( 64 * m_nBUMPMAP ) + ( 128 * m_nVERTEXCOLOR ) + ( 256 * m_nSELFILLUM ) + ( 512 * m_nDIFFUSEBUMPMAP ) + ( 1024 * m_nDETAIL_ALPHA_MASK_BASE_TEXTURE ) + ( 2048 * m_nFLASHLIGHT ) + ( 4096 * m_nSEAMLESS ) + ( 8192 * m_nFLASHLIGHTDEPTHFILTERMODE ) + 0;
|
|
}
|
|
};
|
|
|
|
#define shaderStaticTest_SDK_worldtwotextureblend_ps20b psh_forgot_to_set_static_DETAILTEXTURE + psh_forgot_to_set_static_BUMPMAP + psh_forgot_to_set_static_VERTEXCOLOR + psh_forgot_to_set_static_SELFILLUM + psh_forgot_to_set_static_DIFFUSEBUMPMAP + psh_forgot_to_set_static_DETAIL_ALPHA_MASK_BASE_TEXTURE + psh_forgot_to_set_static_FLASHLIGHT + psh_forgot_to_set_static_SEAMLESS + psh_forgot_to_set_static_FLASHLIGHTDEPTHFILTERMODE
|
|
|
|
|
|
class SDK_worldtwotextureblend_ps20b_Dynamic_Index
|
|
{
|
|
unsigned int m_nWRITEWATERFOGTODESTALPHA : 2;
|
|
unsigned int m_nPIXELFOGTYPE : 2;
|
|
unsigned int m_nWRITE_DEPTH_TO_DESTALPHA : 2;
|
|
unsigned int m_nFLASHLIGHTSHADOWS : 2;
|
|
#ifdef _DEBUG
|
|
bool m_bWRITEWATERFOGTODESTALPHA : 1;
|
|
bool m_bPIXELFOGTYPE : 1;
|
|
bool m_bWRITE_DEPTH_TO_DESTALPHA : 1;
|
|
bool m_bFLASHLIGHTSHADOWS : 1;
|
|
#endif // _DEBUG
|
|
public:
|
|
void SetWRITEWATERFOGTODESTALPHA( int i )
|
|
{
|
|
Assert( i >= 0 && i <= 1 );
|
|
m_nWRITEWATERFOGTODESTALPHA = i;
|
|
#ifdef _DEBUG
|
|
m_bWRITEWATERFOGTODESTALPHA = true;
|
|
#endif // _DEBUG
|
|
}
|
|
|
|
void SetPIXELFOGTYPE( int i )
|
|
{
|
|
Assert( i >= 0 && i <= 1 );
|
|
m_nPIXELFOGTYPE = i;
|
|
#ifdef _DEBUG
|
|
m_bPIXELFOGTYPE = true;
|
|
#endif // _DEBUG
|
|
}
|
|
|
|
void SetWRITE_DEPTH_TO_DESTALPHA( int i )
|
|
{
|
|
Assert( i >= 0 && i <= 1 );
|
|
m_nWRITE_DEPTH_TO_DESTALPHA = i;
|
|
#ifdef _DEBUG
|
|
m_bWRITE_DEPTH_TO_DESTALPHA = true;
|
|
#endif // _DEBUG
|
|
}
|
|
|
|
void SetFLASHLIGHTSHADOWS( int i )
|
|
{
|
|
Assert( i >= 0 && i <= 1 );
|
|
m_nFLASHLIGHTSHADOWS = i;
|
|
#ifdef _DEBUG
|
|
m_bFLASHLIGHTSHADOWS = true;
|
|
#endif // _DEBUG
|
|
}
|
|
|
|
SDK_worldtwotextureblend_ps20b_Dynamic_Index( IShaderDynamicAPI* pShaderAPI )
|
|
{
|
|
m_nWRITEWATERFOGTODESTALPHA = 0;
|
|
m_nPIXELFOGTYPE = 0;
|
|
m_nWRITE_DEPTH_TO_DESTALPHA = 0;
|
|
m_nFLASHLIGHTSHADOWS = 0;
|
|
#ifdef _DEBUG
|
|
m_bWRITEWATERFOGTODESTALPHA = false;
|
|
m_bPIXELFOGTYPE = false;
|
|
m_bWRITE_DEPTH_TO_DESTALPHA = false;
|
|
m_bFLASHLIGHTSHADOWS = false;
|
|
#endif // _DEBUG
|
|
}
|
|
|
|
int GetIndex() const
|
|
{
|
|
Assert( m_bWRITEWATERFOGTODESTALPHA && m_bPIXELFOGTYPE && m_bWRITE_DEPTH_TO_DESTALPHA && m_bFLASHLIGHTSHADOWS );
|
|
return ( 1 * m_nWRITEWATERFOGTODESTALPHA ) + ( 2 * m_nPIXELFOGTYPE ) + ( 4 * m_nWRITE_DEPTH_TO_DESTALPHA ) + ( 8 * m_nFLASHLIGHTSHADOWS ) + 0;
|
|
}
|
|
};
|
|
|
|
#define shaderDynamicTest_SDK_worldtwotextureblend_ps20b psh_forgot_to_set_dynamic_WRITEWATERFOGTODESTALPHA + psh_forgot_to_set_dynamic_PIXELFOGTYPE + psh_forgot_to_set_dynamic_WRITE_DEPTH_TO_DESTALPHA + psh_forgot_to_set_dynamic_FLASHLIGHTSHADOWS
|
|
|
|
|
|
#endif // SDK_WORLDTWOTEXTUREBLEND_PS20B_H
|