CFESChooseSideHero.h 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. // CFESChooseSideHero - [2020-04-13 11:57:46]
  2. #ifndef _CFESCHOOSESIDEHERO_H_
  3. #define _CFESCHOOSESIDEHERO_H_
  4. #include "CFE3DPlayer.h"
  5. #include "CFEHeroScene.h"
  6. #include "CFEScreen.h"
  7. #include "CGfxPostProcessRenderer.h"
  8. #include "common.h"
  9. #include "render.h"
  10. /*
  11. 0012694C CFESChooseSideHero::CFESChooseSideHero()
  12. 00126994 CFESChooseSideHero::~CFESChooseSideHero()
  13. 00126998 CFESChooseSideHero::~CFESChooseSideHero()
  14. 001269A8 CFESChooseSideHero::Init()
  15. 00126C00 CFESChooseSideHero::UseMinimalScene()
  16. 00126C18 CFESChooseSideHero::SetupPlayers()
  17. 00126DB4 CFESChooseSideHero::LocaliseCommonCountryList()
  18. 00126E10 CFESChooseSideHero::SetupSelectText(int,float,bool)
  19. 00126EB0 CFESChooseSideHero::Exit()
  20. 00126F24 CFESChooseSideHero::ProcessChoosePlayer()
  21. 00126FEC CFESChooseSideHero::SetupNationality()
  22. 001271B4 CFESChooseSideHero::ProcessPlayer()
  23. 00127318 CFESChooseSideHero::UpdateCamera()
  24. 00127470 CFESChooseSideHero::UpdatePosition()
  25. 001274D8 CFESChooseSideHero::Process()
  26. 0012778C CFESChooseSideHero::ShutdownNationality()
  27. 001277A8 CFESChooseSideHero::ProcessNationality()
  28. 001277CE CFESChooseSideHero::Render2D()
  29. 001277D0 CFESChooseSideHero::SetupCamera(bool)
  30. 001278D8 CFESChooseSideHero::PreRender3D()
  31. 001279A8 CFESChooseSideHero::Render3D()
  32. 001279C0 CFESChooseSideHero::RenderScene(EGfxRenderPass)
  33. 00127A9C CFESChooseSideHero::Render2DHUD()
  34. 00127C30 CFESChooseSideHero::SetNationalKit()
  35. 00127C9C CFESChooseSideHero::BackButtonPressed()
  36. 0x420
  37. */
  38. //函数分为两类: 成员函数和静态成员函数
  39. //成员函数必会调用构造函数或者内联构造函数
  40. //通过分析发现不会调用构造函数,同时假设不会内联构造函数,那么得到结论: 成员函数未被调用到
  41. //通过分析发现,静态成员函数只被成员函数调用到,那么得出结论: 静态成员函数未被调用到
  42. //注意:BackButtonPressed函数未被分析,所以BackButtonPressed不确定是否会被调用到
  43. class CFESChooseSideHero : public CFEScreen, public CGfxPostProcessRenderer {
  44. public:
  45. CFESChooseSideHero(); // 0012694C
  46. ~CFESChooseSideHero(); // 00126994 00126998
  47. virtual void Init(); // 001269A8
  48. static void UseMinimalScene(); // 00126C00
  49. void SetupPlayers(); // 00126C18
  50. static void LocaliseCommonCountryList(); // 00126DB4
  51. void SetupSelectText(int, float, bool); // 00126E10
  52. virtual void Exit(); // 00126EB0
  53. void ProcessChoosePlayer(); // 00126F24
  54. void SetupNationality(); // 00126FEC
  55. void ProcessPlayer(); // 001271B4
  56. void UpdateCamera(); // 00127318
  57. void UpdatePosition(); // 00127470
  58. virtual void Process(); // 001274D8
  59. void ShutdownNationality(); // 0012778C
  60. static void ProcessNationality(); // 001277A8
  61. virtual void Render2D(); // 001277CE
  62. void SetupCamera(bool); // 001277D0
  63. virtual void PreRender3D(); // 001278D8
  64. virtual void Render3D(); // 001279A8
  65. void RenderScene(EGfxRenderPass); // 001279C0
  66. virtual void Render2DHUD(); // 00127A9C
  67. void SetNationalKit(); // 00127C30
  68. static void BackButtonPressed(); // 00127C9C
  69. // size 0x420
  70. //父类 CFEScreen
  71. // vtable 0x0
  72. // CUITileManager* m_pUITileManager_4;
  73. // bool m_bfield_8;
  74. // int dId_C;
  75. //父类 CGfxPostProcessRenderer
  76. // vtable 0x10
  77. int field_14[6];
  78. TPlayerInfo tplayerinfo_2c[6];
  79. CFE3DPlayer *p_cfe3dpayer_344[6];
  80. int field_35c; //分析未知,凑数
  81. TPoint3D tpoint3d_360[6];
  82. int field_3a8[4];
  83. int field_3b8;
  84. int field_3bc;
  85. TBuildKitTeamTextures tbuildkitteamtextures_3c0;
  86. int field_3c4;
  87. int field_3c8[4]; //分析未知,凑数
  88. int field_3d8;
  89. ushort field_3dc; // 00127C3A
  90. ushort field_3de; //不确定是否存在
  91. float field_3e0;
  92. float field_3e4;
  93. float field_3e8;
  94. float field_3ec;
  95. float field_3f0;
  96. float field_3f4;
  97. int field_3f8[4];
  98. int field_408;
  99. int field_40c; ////分析未知,凑数
  100. CFEHeroScene *p_cfeheroscence_410;
  101. int field_414;
  102. bool field_418;
  103. int field_41c;
  104. static bool ms_bBackButtonPressed;
  105. };
  106. #endif //_CFESCHOOSESIDEHERO_H_