123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175 |
- // CGfxCrowd - [2020-04-13 11:57:46]
- #ifndef _CGFXCROWD_H_
- #define _CGFXCROWD_H_
- #include "TGfxCrowdState.h"
- #include "CFTTModel.h"
- #include "FTTVector.h"
- #include "CStaticAABBTree.h"
- #include "FTTUPtr.h"
- #include "CrowdTextureCreationData.h"
- #include "TDrawCall.h"
- #include "CGfxCrowdCardGroup.h"
- #include "CGfxCrowdFlagRender.h"
- #include "CFTTRenderToTexture.h"
- #include "TCrowd.h"
- //class TGfxCrowdState;
- /*
- 0019691C CGfxCrowd::CGfxCrowd()
- 00196A10 CGfxCrowd::~CGfxCrowd()
- 001968CC CGfxCrowd::Initialise()
- 001968EC CGfxCrowd::Shutdown()
- 0019690C CGfxCrowd::Get()
- 00196AF8 CGfxCrowd::Shut()
- 00196E72 CGfxCrowd::Init()
- 00197140 CGfxCrowd::AddStand(CFTTModel *,CFTTMatrix32)
- 00199D4C CGfxCrowd::GetCapacity(CFTTModel *,CFTTMatrix32)
- 00199E08 CGfxCrowd::AssessDesirability(TGfxCrowdSeat &)
- 00199E3C CGfxCrowd::AssessDesirability(TGfxCrowdSeat &,bool)
- 00199ED0 CGfxCrowd::Distribute(uint)
- 0019CBA0 CGfxCrowd::UpdateCrowdTextures(uint)
- 0019F7E4 CGfxCrowd::Render()
- 0019F85C CGfxCrowd::RenderSteward()
- 0019F990 CGfxCrowd::RenderStatic()
- 0019FCC8 CGfxCrowd::RenderDynamic()
- 001A101C CGfxCrowd::Process()
- 001A12C8 CGfxCrowd::GetCrowdState(float &,float &,float &)
- 001A12E6 CGfxCrowd::GetCapacity()
- 001A12EA CGfxCrowd::GetTextureCreationData()
- 001A12F0 CGfxCrowd::GetCrowdValue(ECrowdMemberType)
- 001A12FC CGfxCrowd::SetCrowdValue(ECrowdMemberType,float)
- 0xCBD4
- */
- struct TGfxCrowdSection {
- int un_0;
- };
- struct TGfxCardSection {
- int un_0;
- };
- struct TGfxCrowdDynamic {
- int un_0;
- };
- struct TShot
- {
- uchar b_0;
- uchar b_1;
- ushort field_2;
- float f_4;
- float f_8;
- float f_C;
- float f_10;
- float f_14;
- float f_18;
- };
- struct SortShots
- {
-
- };
- /*
- Crowd 相关类, 重点检查 Anderson
- CGfxCrowd.cpp
- CGfxCrowdCardGroup.cpp
- CGfxCrowdFlagPhysics.cpp
- CGfxCrowdFlagRender.cpp
- CrowdSortB.cpp
- CrowdSortD.cpp
- CrowdTextureCreationData.cpp
- TCrowdMember.cpp
- TGfxCrowdState.cpp
- */
- class CrowdTextureCreationData;
- class CGfxCrowd {
- public:
- CGfxCrowd(); // 0019691C
- ~CGfxCrowd(); // 00196A10
- static void Initialise(); // 001968CC
- static void Shutdown(); // 001968EC
- static CGfxCrowd *Get(); // 0019690C
- static void Shut(); // 00196AF8
- void Init(); // 00196E72
- void AddStand(CFTTModel *, CFTTMatrix32); // 00197140
- void GetCapacity(CFTTModel *, CFTTMatrix32); // 00199D4C
- void AssessDesirability(TGfxCrowdSeat &); // 00199E08
- void AssessDesirability(TGfxCrowdSeat &, bool); // 00199E3C
- void Distribute(uint); // 00199ED0
- void UpdateCrowdTextures(uint); // 0019CBA0
- void Render(); // 0019F7E4
- void RenderSteward(); // 0019F85C
- void RenderStatic(); // 0019F990
- void RenderDynamic(); // 0019FCC8
- void Process(); // 001A101C
- void GetCrowdState(float &, float &, float &); // 001A12C8
- int GetCapacity(); // 001A12E6
- CrowdTextureCreationData *GetTextureCreationData(); // 001A12EA
- float GetCrowdValue(ECrowdMemberType); // 001A12F0
- void SetCrowdValue(ECrowdMemberType, float); // 001A12FC
- FTTVector<TGfxCrowdSeat> vec_0;
- FTTVector<TGfxCrowdSeat> vec_14;
- FTTVector<TGfxCrowdDynamic> vec_28;
- FTTVector<TGfxCardSection> vec_3C;
- FTTVector<FTTUPtr<CGfxCrowdFlagPhysics>> vec_50;
- FTTVector<FTTUPtr<CGfxCrowdFlagRender>> vec_64;
- FTTVector<FTTUPtr<CGfxCrowdCardGroup>> vec_78;
- FTTUPtr<CFTTRenderHelper> aVec_8C[2];
- FTTUPtr<CFTTRenderHelper> tUPtr_94;
- FTTUPtr<CFTTRenderHelper> tUPtr_98;
- CFTTTexture *ptexture_9C;
- CFTTTexture *ptexture_A0;
- CFTTTexture *ptexture_A4;
- FTTVector<uint> vec_A8;
- FTTVector<TDrawCall> vec_BC;
- FTTUPtr<CrowdTextureCreationData> tPtrTextureData_D0;
- int field_D4;
- struct CGfxCrowd_D8
- {
- float f_0;
- float f_4;
- float f_8;
- float f_C;
- float f_10;
- float f_14;
- float f_18;
- float f_1C;
- float f_20;
- int f_24;
- int f_28;
- int f_2C;
- }data_d8[0x20][0x20];
- //int field_D8;
- // uchar field_6D8[0xB9FC]; //????????????????????????????????????????????????????? 未知
- // int field_C0D4;
- FTTVector<TGfxCrowdSection> vec_C0D8;
-
- TGfxCrowdState tCrowd_C0EC[9];
- TGfxCrowdState tCrowd_C1A0[32][4];
- FTTVector<CStaticAABBTree<ushort, 16u>> vec_CBA0;
- bool b_CBB4;
- bool b_CBB5;
- bool b_CBB6;
- bool b_CBB7;
- float f_CBB8;
- uint dCrowdNewShaderID_CBBC[3]; // 00196A3C 此处可以确定是一个数组
- float f_CBC8[3]; // 001A12FC
- static CGfxCrowd *ms_pInstance;
- };
- #endif //_CGFXCROWD_H_
|