#include "CGfxKits.h"
#include "CFTTTexture.h"
#include "CFTTTexLoadOptions.h"
#include "FETU.h"
#include "CGFXSpec.h"
#include "TGame.h"
#include "FTTMutex.h"
#include "CFE.h"
#include "CGraphicsTexLoadOptions.h"
#include "CMatchSetup.h"
#include "CFTTGraphicsDevice.h"
#include "CFTTClearSettings.h"
#include "FTT2D.h"
#include "FE2D.h"
#include "XSYS.h"
#include "CKitGenShader.h"
#include "CFTTTextureManager.h"

CachedKitTemplate CGfxKits::ms_tCachedKitTemplates[16];
int CGfxKits::ms_iNumCachedKitTemplates;
int CGfxKits::ms_tBuildKitSetup;

RefKitProperty_st g_tRefKitProperty[8] = {
    {0xFF40B840, 0xFFFFFFFF, 0},
    {0xFF6880D8, 0xFF000000, 0},
    {0xFFE0E058, 0xFF000000, 0},
    {0xFFC0C0C0, 0xFF000000, 0},
    {0xFF000000, 0xFFFFFFFF, 0},
    {0xFFD83030, 0xFFFFFFFF, 0},
    {0xFF188018, 0xFFFFFFFF, 0},
    {0xFFFF8000, 0xFF000000, 0}};

//-------------------------------------------------------------------------------------------------
//00184AE4 ^_^
CFTTTexture *CGfxKits::GetTexture(int &i0,
                                  TBuildKitTeamTextures *pTBuildKitTeamTextures1,
                                  int i2,
                                  EKitTextureType e3,
                                  CFTTTexLoadOptions const *pCFTTTexLoadOptions4) {
  LOGE("CGfxKits::GetTexture%x%x%x%x%x",i0,pTBuildKitTeamTextures1,i2,e3,pCFTTTexLoadOptions4);
  return (CFTTTexture*)rand();
}
//-------------------------------------------------------------------------------------------------
//00184AE8 ^_^
CFTTTexture *CGfxKits::BuildTexture(int &i0,
                                    TBuildKitTeamTextures *pTBuildKitTeamTextures1,
                                    int i2,
                                    EKitTextureType e3,
                                    CFTTTexLoadOptions const *pCFTTTexLoadOptions4) {
  return nullptr;
}
//-------------------------------------------------------------------------------------------------
//0018516C ^_^
int CGfxKits::BeginBuildKit(int i0) {
  LOGE("CGfxKits::BeginBuildKit%x",i0);
  return rand();
}

//-------------------------------------------------------------------------------------------------
//00185184 ^_^
void CGfxKits::EndBuildKit() {
  LOGE("CGfxKits::EndBuildKit");
}
//-------------------------------------------------------------------------------------------------
//001851A0 ^_^
void CGfxKits::EmptyKitTemplateCache() {
}
//-------------------------------------------------------------------------------------------------
//001851DC ^_^
void CGfxKits::FreeKitTeamTextures(TBuildKitTeamTextures *pTBuildKitTeamTextures0) {
  LOGE("CGfxKits::FreeKitTeamTextures%x",pTBuildKitTeamTextures0);
}
//-------------------------------------------------------------------------------------------------
//0018521C ^_^
void CGfxKits::LoadKitTeamTextures(CTeam *pCTeam0, TBuildKitTeamTextures *pTBuildKitTeamTextures1, CFTTTexLoadOptions const &pCFTTTexLoadOptions2, int i3) {
LOGE("CGfxKits::LoadKitTeamTextures%x%x%x%x",pCTeam0,pTBuildKitTeamTextures1,pCFTTTexLoadOptions2,i3);
}
//-------------------------------------------------------------------------------------------------
//0018529C ^_^ 要开栈保护编译
CFTTTexture *CGfxKits::GetKitTemplate(bool b0, int i1, int i2, CFTTTexLoadOptions const &pCFTTTexLoadOptions3) {
  return 0;
}
//-------------------------------------------------------------------------------------------------
//00185448 ^_^
void CGfxKits::ReleaseKitTemplate(CFTTTexture *pCFTTTexture0) {
}
//-------------------------------------------------------------------------------------------------
//00185480 ^_^
int CGfxKits::GetColour(int i0, int i1, ETeamColour eTeamColour2, bool b3, bool b4, int i5) {
  return 0;
}
//-------------------------------------------------------------------------------------------------