// CFTTRenderBufferOGLES - [2020-04-13 11:57:46]
#ifndef _CFTTRENDERBUFFEROGLES_H_
#define _CFTTRENDERBUFFEROGLES_H_

#include "common.h"
#include <GLES2/gl2.h>
#include "CFTTRenderBuffer.h"
#include "CFTTTexture.h"

/*
002288D8 CFTTRenderBufferOGLES::CFTTRenderBufferOGLES(int,int,uint,int)
00228900 CFTTRenderBufferOGLES::CFTTRenderBufferOGLES(int,int,bool,EFTTTexFormat,int,int,int,EFTTTextureType,uchar,uchar)
00228E74 CFTTRenderBufferOGLES::~CFTTRenderBufferOGLES()
00228EA8 CFTTRenderBufferOGLES::~CFTTRenderBufferOGLES()
0022897C CFTTRenderBufferOGLES::Construct2(int,int,bool,EFTTTexFormat,int,int,int,EFTTTextureType,uchar)
00228BB8 CFTTRenderBufferOGLES::Construct3(int,int,bool,EFTTTexFormat,int,int,int,EFTTTextureType,uchar,uchar)
00228EB6 CFTTRenderBufferOGLES::GetWidth()
00228EBA CFTTRenderBufferOGLES::GetHeight()
00228EBE CFTTRenderBufferOGLES::IsColourBuffer()
00228EFA CFTTRenderBufferOGLES::GetZDepth()
00228F22 CFTTRenderBufferOGLES::GetStencilBits()
00228F42 CFTTRenderBufferOGLES::GetBPP()
00228F46 CFTTRenderBufferOGLES::GetRenderBuffer()
00228F4A CFTTRenderBufferOGLES::GetTextureDirect()

0x20

vptr_CFTTRenderBufferOGLES_328BEC:
  CFTTRenderBufferOGLES::~CFTTRenderBufferOGLES()
  CFTTRenderBufferOGLES::~CFTTRenderBufferOGLES()
  CFTTRenderBufferOGLES::GetWidth()
  CFTTRenderBufferOGLES::GetHeight()
  CFTTRenderBufferOGLES::IsColourBuffer()
  CFTTRenderBufferOGLES::GetZDepth()
  CFTTRenderBufferOGLES::GetStencilBits()
  CFTTRenderBufferOGLES::GetBPP()
  CFTTRenderBufferOGLES::GetRenderBuffer()
  CFTTRenderBufferOGLES::GetTextureDirect()
*/

class CFTTRenderBufferOGLES : public CFTTRenderBuffer {
public:
  CFTTRenderBufferOGLES(int dwidth,
                        int dheight,
                        GLuint dRendBuf,
                        GLint dtype);  // 002288D8

  CFTTRenderBufferOGLES(int a2,
                        int a3,
                        bool a4,
                        EFTTTexFormat a5,
                        int a6,
                        int a7,
                        int a8,
                        EFTTTextureType a9,
                        uchar a10,
                        uchar a11);  // 00228900

  virtual ~CFTTRenderBufferOGLES();  // 00228E74  00228EA8

  void Construct2(int aWidth1,
                  int aHeight2,
                  bool b3,
                  EFTTTexFormat eFormat4,
                  int aInternalformat5,
                  int a6,
                  int aType7,
                  EFTTTextureType eTextureType8,
                  uchar a9);  // 0022897C

  void Construct3(int aWidth1,
                  int aHeight2,
                  bool a3,
                  EFTTTexFormat eFormat4,
                  int aInternalformat5,
                  int a6,
                  int aType7,
                  EFTTTextureType eTextureType8,
                  uchar a9,
                  uchar a10);  // 00228BB8

  virtual int GetWidth();                   // 00228EB6
  virtual int GetHeight();                  // 00228EBA
  virtual bool IsColourBuffer();            // 00228EBE
  virtual int GetZDepth();                  // 00228EFA
  virtual int GetStencilBits();             // 00228F22
  virtual int GetBPP();                     // 00228F42
  virtual GLint GetRenderBuffer();          // 00228F46
  virtual CFTTTexture* GetTextureDirect();  // 00228F4A

  volatile int width_4;
  int height_8;
  GLint type_C;
  GLuint Textures_10;
  GLuint RendBuf_14;  //(const GLuint *)
  bool bool_18;
  CFTTTexture* pTexture_1C;
};

#endif  //_CFTTRENDERBUFFEROGLES_H_