#ifndef T2DLL_T2POOLDEF_H #define T2DLL_T2POOLDEF_H #include "../common.h" enum { kPoolUnitSize = 20 }; // actual name unknown struct PeopleElem { unsigned char mSilhouetteType; unsigned char mEconoType; unsigned char mTransportType; unsigned char mRate; unsigned int m4; }; class T2PoolTimeZoneDef { public: T2PoolTimeZoneDef(CResFile &resFile); void Initialize(); ~T2PoolTimeZoneDef(); PeopleElem *GetPeopleElem(unsigned int index) const; // p sure this exists (1005f090) unsigned int GetNumOfElems() const { return mNumOfElems; } unsigned int mNumOfElems; PeopleElem *mPeopleElems; }; // actual name unknown struct TimeZoneInfo { int m0; unsigned int m4; }; class T2PoolDefDemandElem { public: T2PoolDefDemandElem(); void Initialize(CResFile &resFile); ~T2PoolDefDemandElem(); TimeZoneInfo *GetTimeZoneInfo(unsigned int index) const; unsigned int mNumOfElems; TimeZoneInfo *mElems; }; class T2PoolGradeDef { public: T2PoolGradeDef(CResFile &resFile); void Initialize(); virtual ~T2PoolGradeDef(); T2PoolDefDemandElem *GetDemandElem(unsigned int index) const; unsigned int mNumOfElems; T2PoolDefDemandElem *mDemandElems; }; // actual name unknown struct DemandInfo { int a; unsigned char b; }; class T2PoolDef { public: T2PoolDef(CResFile &resFile, T2WorldPlugin *worldPlugin); void Initialize(); virtual ~T2PoolDef(); HINSTANCE GetModuleHandle(); DemandInfo *GetDemandInfo(unsigned int index) const; int GetGradeDefResID(unsigned int inIndex) const; unsigned char Get20() const { return m20; } unsigned char GetNumOfDemand() const { return mNumOfDemand; } T2WorldPlugin *mWorldPlugin; int m8; int mGradeDefResID[5]; unsigned char m20; unsigned char mNumOfDemand; DemandInfo *mDemand; }; #endif