//CPitchShader - [2020-04-13 11:57:47]
#ifndef _CPITCHSHADER_H_
#define _CPITCHSHADER_H_

#include "CFTTUberShader.h"

/*
001D002C CPitchShader::CPitchShader()
001D0038 CPitchShader::~CPitchShader()
001B8A94 CPitchShader::SetQuality(EPitchShader_Quality)
001B8AA6 CPitchShader::SetAerial(EPitchShader_Aerial)
001B8AB8 CPitchShader::SetMagicSpray(CFTTTexParam)
001BA1C4 CPitchShader::SetLineColour(CFTTVector32 const&)
001BBCA0 CPitchShader::SetSprayTransparency(float)
001BBCB2 CPitchShader::SetSpray(float const*)
001BBCBE CPitchShader::SetCloudOffset(float,int)
001BBCCE CPitchShader::SetPattern(CFTTTexParam,int)
001BBCE6 CPitchShader::SetLines(CFTTTexParam,int)
001BBCFE CPitchShader::SetGrassCoefficient(CFTTVector32x4 const&,int)
001BBD08 CPitchShader::SetStem(CFTTTexParam,int)
001BBD84 CPitchShader::SetLUT(CFTTTexParam)
001D003C CPitchShader::CreateMat(EPitchShader_Pass,
                                 EPitchShader_Spray,
                                 float,
                                 CFTTVector32x4 const&,
                                 CFTTTexParam,
                                 CFTTTexParam,
                                 CFTTTexParam,
                                 CFTTTexParam,
                                 CFTTTexParam)
*/

enum EPitchShader_Quality {
  EPitchShader_Quality_0,
  EPitchShader_Quality_1,
  EPitchShader_Quality_2,
  EPitchShader_Quality_3,
  EPitchShader_Quality_4,
  EPitchShader_Quality_5,
};

enum EPitchShader_Aerial {
  EPitchShader_Aerial_0,
  EPitchShader_Aerial_1,
  EPitchShader_Aerial_2,
  EPitchShader_Aerial_3,
  EPitchShader_Aerial_4,
  EPitchShader_Aerial_5,
};

enum EPitchShader_Pass {
  EPitchShader_Pass_0,
  EPitchShader_Pass_1,
  EPitchShader_Pass_2,
  EPitchShader_Pass_3,
  EPitchShader_Pass_4,
  EPitchShader_Pass_5,
};

enum EPitchShader_Spray {
  EPitchShader_Spray_0,
  EPitchShader_Spray_1,
  EPitchShader_Spray_2,
  EPitchShader_Spray_3,
  EPitchShader_Spray_4,
  EPitchShader_Spray_5,
};

class CPitchShader : public CFTTUberShader {
public:
  CPitchShader();                                                       //001D002C
  ~CPitchShader();                                                      //001D0038
  void SetQuality(EPitchShader_Quality eQuality);                       //001B8A94
  void SetAerial(EPitchShader_Aerial eAerial);                          //001B8AA6
  void SetMagicSpray(CFTTTexParam aTexParam);                           //001B8AB8
  void SetLineColour(CFTTVector32 const& pVector32);                    //001BA1C4
  void SetSprayTransparency(float f);                                   //001BBCA0
  void SetSpray(float const* pf);                                       //001BBCB2
  void SetCloudOffset(float f, int a2);                                 //001BBCBE
  void SetPattern(CFTTTexParam aTexParam, int a2);                      //001BBCCE
  void SetLines(CFTTTexParam aTexParam, int a2);                        //001BBCE6
  void SetGrassCoefficient(CFTTVector32x4 const& pVector32x4, int a2);  //001BBCFE
  void SetStem(CFTTTexParam aTexParam, int a2);                         //001BBD08
  void SetLUT(CFTTTexParam aTexParam);                                  //001BBD84
  ushort CreateMat(EPitchShader_Pass ePass,
                   EPitchShader_Spray eSpray,
                   float f,
                   CFTTVector32x4 const& pVector32x4,
                   CFTTTexParam aTexParam1,
                   CFTTTexParam aTexParam2,
                   CFTTTexParam aTexParam3,
                   CFTTTexParam aTexParam4,
                   CFTTTexParam aTexParam5);  //001D003C

  static CPitchShader s_tInstance;
};

#endif  //_CPITCHSHADER_H_