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.

112 lines
2.3 KiB

  1. #include "shaderlib/cshader.h"
  2. class introscreenspaceeffect_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_nLINEAR_TO_SRGB;
  27. #ifdef _DEBUG
  28. bool m_bLINEAR_TO_SRGB;
  29. #endif
  30. public:
  31. void SetLINEAR_TO_SRGB( int i )
  32. {
  33. Assert( i >= 0 && i <= 1 );
  34. m_nLINEAR_TO_SRGB = i;
  35. #ifdef _DEBUG
  36. m_bLINEAR_TO_SRGB = true;
  37. #endif
  38. }
  39. void SetLINEAR_TO_SRGB( bool i )
  40. {
  41. m_nLINEAR_TO_SRGB = i ? 1 : 0;
  42. #ifdef _DEBUG
  43. m_bLINEAR_TO_SRGB = true;
  44. #endif
  45. }
  46. public:
  47. introscreenspaceeffect_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_bLINEAR_TO_SRGB = false;
  55. #endif // _DEBUG
  56. m_nLINEAR_TO_SRGB = 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_bLINEAR_TO_SRGB;
  64. Assert( bAllStaticVarsDefined );
  65. #endif // _DEBUG
  66. return ( 10 * m_nCONVERT_TO_SRGB ) + ( 20 * m_nLINEAR_TO_SRGB ) + 0;
  67. }
  68. };
  69. #define shaderStaticTest_introscreenspaceeffect_ps20b psh_forgot_to_set_static_LINEAR_TO_SRGB + 0
  70. class introscreenspaceeffect_ps20b_Dynamic_Index
  71. {
  72. private:
  73. int m_nMODE;
  74. #ifdef _DEBUG
  75. bool m_bMODE;
  76. #endif
  77. public:
  78. void SetMODE( int i )
  79. {
  80. Assert( i >= 0 && i <= 9 );
  81. m_nMODE = i;
  82. #ifdef _DEBUG
  83. m_bMODE = true;
  84. #endif
  85. }
  86. void SetMODE( bool i )
  87. {
  88. m_nMODE = i ? 1 : 0;
  89. #ifdef _DEBUG
  90. m_bMODE = true;
  91. #endif
  92. }
  93. public:
  94. introscreenspaceeffect_ps20b_Dynamic_Index()
  95. {
  96. #ifdef _DEBUG
  97. m_bMODE = false;
  98. #endif // _DEBUG
  99. m_nMODE = 0;
  100. }
  101. int GetIndex()
  102. {
  103. // Asserts to make sure that we aren't using any skipped combinations.
  104. // Asserts to make sure that we are setting all of the combination vars.
  105. #ifdef _DEBUG
  106. bool bAllDynamicVarsDefined = m_bMODE;
  107. Assert( bAllDynamicVarsDefined );
  108. #endif // _DEBUG
  109. return ( 1 * m_nMODE ) + 0;
  110. }
  111. };
  112. #define shaderDynamicTest_introscreenspaceeffect_ps20b psh_forgot_to_set_dynamic_MODE + 0