// CFESChooseSideHero - [2020-04-13 11:57:46] #ifndef _CFESCHOOSESIDEHERO_H_ #define _CFESCHOOSESIDEHERO_H_ #include "CFE3DPlayer.h" #include "CFEHeroScene.h" #include "CFEScreen.h" #include "CGfxPostProcessRenderer.h" #include "common.h" #include "render.h" /* 0012694C CFESChooseSideHero::CFESChooseSideHero() 00126994 CFESChooseSideHero::~CFESChooseSideHero() 00126998 CFESChooseSideHero::~CFESChooseSideHero() 001269A8 CFESChooseSideHero::Init() 00126C00 CFESChooseSideHero::UseMinimalScene() 00126C18 CFESChooseSideHero::SetupPlayers() 00126DB4 CFESChooseSideHero::LocaliseCommonCountryList() 00126E10 CFESChooseSideHero::SetupSelectText(int,float,bool) 00126EB0 CFESChooseSideHero::Exit() 00126F24 CFESChooseSideHero::ProcessChoosePlayer() 00126FEC CFESChooseSideHero::SetupNationality() 001271B4 CFESChooseSideHero::ProcessPlayer() 00127318 CFESChooseSideHero::UpdateCamera() 00127470 CFESChooseSideHero::UpdatePosition() 001274D8 CFESChooseSideHero::Process() 0012778C CFESChooseSideHero::ShutdownNationality() 001277A8 CFESChooseSideHero::ProcessNationality() 001277CE CFESChooseSideHero::Render2D() 001277D0 CFESChooseSideHero::SetupCamera(bool) 001278D8 CFESChooseSideHero::PreRender3D() 001279A8 CFESChooseSideHero::Render3D() 001279C0 CFESChooseSideHero::RenderScene(EGfxRenderPass) 00127A9C CFESChooseSideHero::Render2DHUD() 00127C30 CFESChooseSideHero::SetNationalKit() 00127C9C CFESChooseSideHero::BackButtonPressed() 0x420 */ //函数分为两类: 成员函数和静态成员函数 //成员函数必会调用构造函数或者内联构造函数 //通过分析发现不会调用构造函数,同时假设不会内联构造函数,那么得到结论: 成员函数未被调用到 //通过分析发现,静态成员函数只被成员函数调用到,那么得出结论: 静态成员函数未被调用到 //注意:BackButtonPressed函数未被分析,所以BackButtonPressed不确定是否会被调用到 class CFESChooseSideHero : public CFEScreen, public CGfxPostProcessRenderer { public: CFESChooseSideHero(); // 0012694C ~CFESChooseSideHero(); // 00126994 00126998 virtual void Init(); // 001269A8 static void UseMinimalScene(); // 00126C00 void SetupPlayers(); // 00126C18 static void LocaliseCommonCountryList(); // 00126DB4 void SetupSelectText(int, float, bool); // 00126E10 virtual void Exit(); // 00126EB0 void ProcessChoosePlayer(); // 00126F24 void SetupNationality(); // 00126FEC void ProcessPlayer(); // 001271B4 void UpdateCamera(); // 00127318 void UpdatePosition(); // 00127470 virtual void Process(); // 001274D8 void ShutdownNationality(); // 0012778C static void ProcessNationality(); // 001277A8 virtual void Render2D(); // 001277CE void SetupCamera(bool); // 001277D0 virtual void PreRender3D(); // 001278D8 virtual void Render3D(); // 001279A8 void RenderScene(EGfxRenderPass); // 001279C0 virtual void Render2DHUD(); // 00127A9C void SetNationalKit(); // 00127C30 static void BackButtonPressed(); // 00127C9C // size 0x420 //父类 CFEScreen // vtable 0x0 // CUITileManager* m_pUITileManager_4; // bool m_bfield_8; // int dId_C; //父类 CGfxPostProcessRenderer // vtable 0x10 int field_14[6]; TPlayerInfo tplayerinfo_2c[6]; CFE3DPlayer *p_cfe3dpayer_344[6]; int field_35c; //分析未知,凑数 TPoint3D tpoint3d_360[6]; int field_3a8[4]; int field_3b8; int field_3bc; TBuildKitTeamTextures tbuildkitteamtextures_3c0; int field_3c4; int field_3c8[4]; //分析未知,凑数 int field_3d8; ushort field_3dc; // 00127C3A ushort field_3de; //不确定是否存在 float field_3e0; float field_3e4; float field_3e8; float field_3ec; float field_3f0; float field_3f4; int field_3f8[4]; int field_408; int field_40c; ////分析未知,凑数 CFEHeroScene *p_cfeheroscence_410; int field_414; bool field_418; int field_41c; static bool ms_bBackButtonPressed; }; #endif //_CFESCHOOSESIDEHERO_H_