//CLoadingScreen - [2020-04-13 11:57:46]
#ifndef _CLOADINGSCREEN_H_
#define _CLOADINGSCREEN_H_

#include "common.h"
#include "XMATH.h"
#include "CFTTRenderToTexture.h"

/*
0011A310 CLoadingScreen::StartLoadTimer()
0011A328 CLoadingScreen::Init(ELoadingScreen,bool)
0011A454 CLoadingScreen::SetLoadingRect(float,float,float,float,float)
0011A464 CLoadingScreen::Shutdown()
0011A4AC CLoadingScreen::Render()
0011A5A0 CLoadingScreen::Process(float)
0011A5A4 CLoadingScreen::SetPercent(float)
0011A5B4 CLoadingScreen::IsInitialised()
*/

enum ELoadingScreen {
  ELoadingScreen_0,
  ELoadingScreen_1,
  ELoadingScreen_2,
  ELoadingScreen_3,
  ELoadingScreen_4,
  ELoadingScreen_5,
};

class CLoadingScreen {
public:
  static void StartLoadTimer();            //0011A310
  static void Init(ELoadingScreen, bool);  //0011A328
  static void SetLoadingRect(float fx,
                             float fy,
                             float fw,
                             float fh,
                             float fu);  //0011A454
  static void Shutdown();                //0011A464
  static void Render();                  //0011A4AC
  static int Process(float f);           //0011A5A0
  static void SetPercent(float);         //0011A5A4
  static bool IsInitialised();           //0011A5B4

  static uint64 s_uTimeLoadBegan;
  static bool s_bInited;
  static TRect s_tLoadingRect;
  static CFTTRenderToTexture* s_pScreenGrabRTT;
  static float s_fLoadPercent;
};

#endif  //_CLOADINGSCREEN_H_