Refactor: parse techno data (#129)

* refined common data of techno types among map objects, making the handling consistent .
* status bar enhancement .
* simplified 'GetStdxxxData' .
This commit is contained in:
Zero Fanker 2024-12-30 20:03:38 -05:00 committed by GitHub
parent 2e7a05ba69
commit 6b62120f74
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 397 additions and 460 deletions

View file

@ -239,8 +239,7 @@ public:
DWORD GetStructureCount() const;
DWORD GetUnitCount() const;
DWORD GetInfantryCount() const;
void GetStdUnitData(DWORD dwIndex, STDOBJECTDATA* lpStdUnit) const;
void GetStdAircraftData(DWORD dwIndex, STDOBJECTDATA* lpStdAircraft) const;
void GetNthWaypointData(DWORD dwIdx, CString* lpID, DWORD* lpdwPos) const;
void GetWaypointData(DWORD dwId, CString* lpID, DWORD* lpdwPos) const;
BOOL IsGroundObjectAt(DWORD dwPos) const;
@ -251,16 +250,27 @@ public:
BOOL AddAircraft(AIRCRAFT* lpAircraft, LPCTSTR lpType = NULL, LPCTSTR lpHouse = NULL, DWORD dwPos = 0, CString suggestedID = "");
void GetCelltagData(DWORD dwIndex, CString* lpTag, DWORD* lpdwPos) const;
BOOL AddCelltag(LPCTSTR lpTag, DWORD dwPos);
std::pair<CString, CString> GetNthDataOfTechno(const size_t index, const TechnoType type) const;
bool ParseBasicTechnoData(const CString& rawText, STDOBJECTDATA& data) const;
bool ParseTechnoData(const CString& rawText, const TechnoType type, TECHNODATA& data) const;
CString GetAircraftData(DWORD dwIndex, AIRCRAFT* lpAircraft) const;
CString GetUnitData(DWORD dwIndex, UNIT* lpUnit) const;
bool ParseInfantryData(const CString& rawText, INFANTRY& infantry) const;
bool ParseUnitData(const CString& rawText, UNIT& unit) const;
bool ParseAircraftData(const CString& rawText, AIRCRAFT& aircraft) const;
bool ParseStructureData(const CString& rawText, STRUCTURE& structure) const;
void GetInfantryData(DWORD dwIndex, INFANTRY* lpInfantry) const;
void GetStdInfantryData(DWORD dwIndex, STDOBJECTDATA* lpStdInfantry) const;
void GetStdUnitData(DWORD dwIndex, STDOBJECTDATA* lpStdUnit) const;
void GetStdAircraftData(DWORD dwIndex, STDOBJECTDATA* lpStdAircraft) const;
void GetStdStructureData(DWORD dwIndex, STDOBJECTDATA* lpStdStructure) const;
INT GetUnitTypeID(LPCTSTR lpType);
void InitializeUnitTypes();
BOOL AddStructure(STRUCTURE* lpStructure, LPCTSTR lpType = NULL, LPCTSTR lpHouse = NULL, DWORD dwPos = 0, CString suggestedID = "");
BOOL AddInfantry(INFANTRY* lpInfantry, int suggestedIndex = -1, LPCTSTR lpType = NULL, LPCTSTR lpHouse = NULL, DWORD dwPos = 0);
BOOL AddNode(NODE* lpNode, WORD dwPos);
void GetStdStructureData(DWORD dwIndex, STDOBJECTDATA* lpStdStructure) const;
CString GetStructureData(DWORD dwIndex, STRUCTURE* lpStructure) const;
BOOL AddWaypoint(CString lpID, DWORD dwPos);