Team Fortress 2 Source Code as on 22/4/2020
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

162 lines
3.5 KiB

  1. #include "shaderlib/cshader.h"
  2. class cloak_ps20b_Static_Index
  3. {
  4. private:
  5. int m_nCONVERT_TO_SRGB;
  6. #ifdef _DEBUG
  7. bool m_bCONVERT_TO_SRGB;
  8. #endif
  9. public:
  10. void SetCONVERT_TO_SRGB( int i )
  11. {
  12. Assert( i >= 0 && i <= 1 );
  13. m_nCONVERT_TO_SRGB = i;
  14. #ifdef _DEBUG
  15. m_bCONVERT_TO_SRGB = true;
  16. #endif
  17. }
  18. void SetCONVERT_TO_SRGB( bool i )
  19. {
  20. m_nCONVERT_TO_SRGB = i ? 1 : 0;
  21. #ifdef _DEBUG
  22. m_bCONVERT_TO_SRGB = true;
  23. #endif
  24. }
  25. private:
  26. int m_nLIGHTWARPTEXTURE;
  27. #ifdef _DEBUG
  28. bool m_bLIGHTWARPTEXTURE;
  29. #endif
  30. public:
  31. void SetLIGHTWARPTEXTURE( int i )
  32. {
  33. Assert( i >= 0 && i <= 1 );
  34. m_nLIGHTWARPTEXTURE = i;
  35. #ifdef _DEBUG
  36. m_bLIGHTWARPTEXTURE = true;
  37. #endif
  38. }
  39. void SetLIGHTWARPTEXTURE( bool i )
  40. {
  41. m_nLIGHTWARPTEXTURE = i ? 1 : 0;
  42. #ifdef _DEBUG
  43. m_bLIGHTWARPTEXTURE = true;
  44. #endif
  45. }
  46. public:
  47. cloak_ps20b_Static_Index( )
  48. {
  49. #ifdef _DEBUG
  50. m_bCONVERT_TO_SRGB = true;
  51. #endif // _DEBUG
  52. m_nCONVERT_TO_SRGB = g_pHardwareConfig->NeedsShaderSRGBConversion();
  53. #ifdef _DEBUG
  54. m_bLIGHTWARPTEXTURE = false;
  55. #endif // _DEBUG
  56. m_nLIGHTWARPTEXTURE = 0;
  57. }
  58. int GetIndex()
  59. {
  60. // Asserts to make sure that we aren't using any skipped combinations.
  61. // Asserts to make sure that we are setting all of the combination vars.
  62. #ifdef _DEBUG
  63. bool bAllStaticVarsDefined = m_bCONVERT_TO_SRGB && m_bLIGHTWARPTEXTURE;
  64. Assert( bAllStaticVarsDefined );
  65. #endif // _DEBUG
  66. return ( 20 * m_nCONVERT_TO_SRGB ) + ( 40 * m_nLIGHTWARPTEXTURE ) + 0;
  67. }
  68. };
  69. #define shaderStaticTest_cloak_ps20b psh_forgot_to_set_static_LIGHTWARPTEXTURE + 0
  70. class cloak_ps20b_Dynamic_Index
  71. {
  72. private:
  73. int m_nPIXELFOGTYPE;
  74. #ifdef _DEBUG
  75. bool m_bPIXELFOGTYPE;
  76. #endif
  77. public:
  78. void SetPIXELFOGTYPE( int i )
  79. {
  80. Assert( i >= 0 && i <= 1 );
  81. m_nPIXELFOGTYPE = i;
  82. #ifdef _DEBUG
  83. m_bPIXELFOGTYPE = true;
  84. #endif
  85. }
  86. void SetPIXELFOGTYPE( bool i )
  87. {
  88. m_nPIXELFOGTYPE = i ? 1 : 0;
  89. #ifdef _DEBUG
  90. m_bPIXELFOGTYPE = true;
  91. #endif
  92. }
  93. private:
  94. int m_nWRITEWATERFOGTODESTALPHA;
  95. #ifdef _DEBUG
  96. bool m_bWRITEWATERFOGTODESTALPHA;
  97. #endif
  98. public:
  99. void SetWRITEWATERFOGTODESTALPHA( int i )
  100. {
  101. Assert( i >= 0 && i <= 1 );
  102. m_nWRITEWATERFOGTODESTALPHA = i;
  103. #ifdef _DEBUG
  104. m_bWRITEWATERFOGTODESTALPHA = true;
  105. #endif
  106. }
  107. void SetWRITEWATERFOGTODESTALPHA( bool i )
  108. {
  109. m_nWRITEWATERFOGTODESTALPHA = i ? 1 : 0;
  110. #ifdef _DEBUG
  111. m_bWRITEWATERFOGTODESTALPHA = true;
  112. #endif
  113. }
  114. private:
  115. int m_nNUM_LIGHTS;
  116. #ifdef _DEBUG
  117. bool m_bNUM_LIGHTS;
  118. #endif
  119. public:
  120. void SetNUM_LIGHTS( int i )
  121. {
  122. Assert( i >= 0 && i <= 4 );
  123. m_nNUM_LIGHTS = i;
  124. #ifdef _DEBUG
  125. m_bNUM_LIGHTS = true;
  126. #endif
  127. }
  128. void SetNUM_LIGHTS( bool i )
  129. {
  130. m_nNUM_LIGHTS = i ? 1 : 0;
  131. #ifdef _DEBUG
  132. m_bNUM_LIGHTS = true;
  133. #endif
  134. }
  135. public:
  136. cloak_ps20b_Dynamic_Index()
  137. {
  138. #ifdef _DEBUG
  139. m_bPIXELFOGTYPE = false;
  140. #endif // _DEBUG
  141. m_nPIXELFOGTYPE = 0;
  142. #ifdef _DEBUG
  143. m_bWRITEWATERFOGTODESTALPHA = false;
  144. #endif // _DEBUG
  145. m_nWRITEWATERFOGTODESTALPHA = 0;
  146. #ifdef _DEBUG
  147. m_bNUM_LIGHTS = false;
  148. #endif // _DEBUG
  149. m_nNUM_LIGHTS = 0;
  150. }
  151. int GetIndex()
  152. {
  153. // Asserts to make sure that we aren't using any skipped combinations.
  154. // Asserts to make sure that we are setting all of the combination vars.
  155. #ifdef _DEBUG
  156. bool bAllDynamicVarsDefined = m_bPIXELFOGTYPE && m_bWRITEWATERFOGTODESTALPHA && m_bNUM_LIGHTS;
  157. Assert( bAllDynamicVarsDefined );
  158. #endif // _DEBUG
  159. return ( 1 * m_nPIXELFOGTYPE ) + ( 2 * m_nWRITEWATERFOGTODESTALPHA ) + ( 4 * m_nNUM_LIGHTS ) + 0;
  160. }
  161. };
  162. #define shaderDynamicTest_cloak_ps20b psh_forgot_to_set_dynamic_PIXELFOGTYPE + psh_forgot_to_set_dynamic_WRITEWATERFOGTODESTALPHA + psh_forgot_to_set_dynamic_NUM_LIGHTS + 0