#include <time.h>
#include "Soccer.h"
#include "CMyProfile.h"
#include "CFEImages.h"
#include "XSYS.h"
#include "CFE.h"
#include "CFTTTextureCache.h"
#include "CFTTUberShader.h"
#include "CFTTRandom.h"
#include "CFTTTime.h"
#include "FTTThread.h"
#include "FTTGraphics.h"
#include "CShaderSetup.h"
#include "FTTFILE.h"
#include "AndroidApp.h"
#include "FTTInput.h"
#include "FileHandler.h"
#include "CGFXSpec.h"
#include "FE_Language.h"
#include "CStoryCore.h"
#include "CGfxAdboard.h"
#include "STORY.h"
#include "CModelManager.h"
#include "CResourceManager.h"
#include "CGfxShadowMapManager.h"
#include "FETU.h"
#include "FESU.h"
#include "FTT3D.h"
#include "FE2D.h"
#include "CGfxPlayer.h"
#include "CFEEffects.h"
#include "XCTRL.h"
#include "GFXRENDER.h"
#include "Util.h"
#include "SNDGAME.h"
#include "CUnlockables.h"
#include "CCurrency.h"
#include "GFXBALL.h"
#include "CGFXFX.h"
#include "CGfxGravel.h"
#include "CGFXLensFlare.h"
#include "FREE.h"
#include "CGfxCornerFlag.h"
#include "CGfxSky.h"
#include "CGfxCharacter.h"
#include "CGfxShadow.h"
#include "CGfxCrowd.h"
#include "CGfxPitch.h"
#include "CGfxPitchLines.h"
#include "CGfxGlareManager.h"
#include "CAnimManager.h"
#include "CFTTAndroidDevice.h"
#include "GFXNET.h"
#include "XDBG.h"
#include "TGame.h"
#include "CFTTRandomThreadsafe.h"

bool g_bExitSafeMode;
bool bFTTInit = false;
uint FTT_tMainThreadID;
//-------------------------------------------------------------------------------------------------
void FTTTexture_PrintLibInfo(void) {
  printf("PNG_PrintVersionInfo\n");
  printf("JPG_PrintVersionInfo\n");
}
//-------------------------------------------------------------------------------------------------
//00262A6C //^_^
void FTTInitialize(int a1, bool bInput, bool bGraphics) {
  LOGI("FTTInitialize: Entry");
  //locret_262ACE
  LOGI("FTTInitialize: End");
}
//-------------------------------------------------------------------------------------------------
//001CAB04 //??? 这个函数好像可以跳过，但不是十分的确定
void Soccer_InitProfile() {
  LOGI("Soccer_InitProfile entry");
}
//-------------------------------------------------------------------------------------------------
MYSTATIC TFTTTexture_FileHandler list_TFTTTexture_FileHandler_349A44[] = {
    {".ftc",
     12,
     (FileHandler_Is)IsFtc,
     (FileHandler_Load)LoadFtc,
     (FileHandler_Save)SaveFtc,
     (FileHandler_CanSave)CanSaveFtc,
     nullptr},
    {".png",
     -1,
     (FileHandler_Is)IsPng,
     (FileHandler_Load)LoadPng,
     (FileHandler_Save)SavePng,
     (FileHandler_CanSave)CanSavePng,
     nullptr},
    {".bmp",
     -1,
     (FileHandler_Is)IsBmp,
     (FileHandler_Load)LoadBmp,
     nullptr,
     nullptr,
     nullptr},
    {".jpg",
     -1,
     (FileHandler_Is)IsJpg,
     (FileHandler_Load)LoadJpg,
     nullptr,
     nullptr,
     nullptr},
    {".tga",
     -5,
     (FileHandler_Is)IsTga,
     (FileHandler_Load)LoadTga,
     nullptr,
     nullptr,
     nullptr},
};
//-------------------------------------------------------------------------------------------------
//00229608 //^_^
void FTTTexHandle_InstallStandardFileHandlers() {
  for (int dr4 = 0; dr4 < 5; dr4++) {
    CFTTTexture::AddFileHandler(&list_TFTTTexture_FileHandler_349A44[dr4]);
  }
}
//-------------------------------------------------------------------------------------------------
//001CAC28 //^_-
void Soccer_Init() {
  LOGI("Soccer_Init: entry");
  LOGI("Soccer_Init: end");
}
//-------------------------------------------------------------------------------------------------
//001CAD9C 与声音，广告相关的代码跳过
void Soccer_Init_A() {
  LOGI("Soccer_Init_A entry");
  CUnlockables::Init(false);
}
//-------------------------------------------------------------------------------------------------
//001CADCC ^_- 经过单元测试，功能正常
void Soccer_MainLoop() {
  LOGI("Soccer_MainLoop: Entry");
}
//-------------------------------------------------------------------------------------------------
//001CAE28
void Soccer_Kill() {
}
//-------------------------------------------------------------------------------------------------
//001CAF10 ^_^ 经过单元测试，功能正常
void Soccer_LoadCoreAssets() {
}
//-------------------------------------------------------------------------------------------------
//001F6A24 ^_^
void Soccer_Platform_Update() {
}
//-------------------------------------------------------------------------------------------------