// CStoryHUD - [2020-04-13 11:57:47]
#ifndef _CSTORYHUD_H_
#define _CSTORYHUD_H_

#include "common.h"
#include "FREE.h"
#include "CUITileHUDText.h"
/*
001E42F4 CStoryHUD::Init()
001E4468 CStoryHUD::Shutdown()
001E448C CStoryHUD::UpdateInfoText(int,EHudTextType)
001E4498 CStoryHUD::UpdateInfoText(wchar_t const*,EHudTextType)
001E44A4 CStoryHUD::ResetInfoText()
001E44BA CStoryHUD::FadeInfoText()
001E44C0 CStoryHUD::PositionNewspaper(int,float &,float &,float &,float &,float &,float &,float &,float &)
001E461C CStoryHUD::AddNewspaperParticles()
001E467C CStoryHUD::RenderNewspaper()
001E4AE8 CStoryHUD::SocialNetworkingCB(int,void *)
001E4AF4 CStoryHUD::Continue(int)
001E4B6C CStoryHUD::Process()
001E4F30 CStoryHUD::ProcessSuccess()
001E50C8 CStoryHUD::SetAwardedMedal()
001E5178 CStoryHUD::UpdateVisualFeedback()
001E51A8 CStoryHUD::ClearVisualFeedback()
001E51C0 CStoryHUD::RenderSuccess()
001E5290 CStoryHUD::RenderInfo()
001E5294 CStoryHUD::RenderReplayHUD()
001E5298 CStoryHUD::Render()
001E5498 CStoryHUD::RenderVisualFeedback()
001E5A70 CStoryHUD::RenderHUD()
001E5A7C CStoryHUD::SetVideoPlayingMessageBox()
001E5A9C CStoryHUD::CreateNPPhoto()
001E5CB8 CStoryHUD::AddVisualFeedback(wchar_t const*,char const*,TPoint3D,TPoint3D,int,float,uint,int,EVFEffect,int)
001E5D6C CStoryHUD::PassedVideoTime()
001E5DA0 CStoryHUD::UpdateAdvertTimings()
0011992C
*/

class CFTTTexture;
class CUITileManager;
class CUITileScoreboard;

// sizeof:0xf0
struct STVisualFeedBack {
  wchar_t wsbuf_0[64];  // 00
  char sbuf_80[64];     // 80
  TPoint3D point_C0;    // C0
  TPoint3D point_CC;    // CC
  short field_D8;       // D8
  short field_DA;       // DA
  float fontScale_DC;   // DC
  uint field_E0;        // E0
  int font_E4;          // E4
  EVFEffect field_E8;   // E8
  int field_EC;         // EC
};

// sizeof:0x3f8
class CStoryHUD {
public:
  void Init();                                                                                                       // 001E42F4
  void Shutdown();                                                                                                   // 001E4468
  void UpdateInfoText(int, EHudTextType);                                                                            // 001E448C
  void UpdateInfoText(wchar_t const *, EHudTextType);                                                                // 001E4498
  void ResetInfoText();                                                                                              // 001E44A4
  void FadeInfoText();                                                                                               // 001E44BA
  void PositionNewspaper(int, float &, float &, float &, float &, float &, float &, float &, float &) const;         // 001E44C0
  void AddNewspaperParticles();                                                                                      // 001E461C
  void RenderNewspaper();                                                                                            // 001E467C
  void SocialNetworkingCB(int, void *);                                                                              // 001E4AE8
  void Continue(int);                                                                                                // 001E4AF4
  int Process();                                                                                                     // 001E4B6C
  void ProcessSuccess();                                                                                             // 001E4F30
  void SetAwardedMedal();                                                                                            // 001E50C8
  void UpdateVisualFeedback();                                                                                       // 001E5178
  void ClearVisualFeedback();                                                                                        // 001E51A8
  void RenderSuccess();                                                                                              // 001E51C0
  void RenderInfo();                                                                                                 // 001E5290
  void RenderReplayHUD();                                                                                            // 001E5294
  void Render();                                                                                                     // 001E5298
  void RenderVisualFeedback();                                                                                       // 001E5498
  void RenderHUD();                                                                                                  // 001E5A70
  void SetVideoPlayingMessageBox();                                                                                  // 001E5A7C
  void CreateNPPhoto();                                                                                              // 001E5A9C
  void AddVisualFeedback(wchar_t const *, char const *, TPoint3D, TPoint3D, int, float, uint, int, EVFEffect, int);  // 001E5CB8
  int PassedVideoTime();                                                                                             // 001E5D6C
  void UpdateAdvertTimings();                                                                                        // 001E5DA0

  CUITileManager *pTileMgr_0;
  int field_4;
  int field_8;
  CFTTTexture *pTexture_C;
  CUITileScoreboard *pScoreBoard_10;
  CUITileHUDText *pHudText_14;
  int MaxCount_18;
  int Count_1C;
  int field_20[3];
  EMedal_Type eMedalType_2c;
  int VideoTime_30;   // date time
  int PlayAdTime_34;  // date time
  STVisualFeedBack VisualFeedBack_38[4];
};

#endif  //_CSTORYHUD_H_