bool CCampaignData::Read(CString pathName) { FitIniFile fitFile; int result = fitFile.open(pathName.GetBuffer(0)); if (NO_ERR != result) { assert(false); return false; } result = fitFile.seekBlock("Campaign"); if (NO_ERR != result) { assert(false); } result = sReadIdString(fitFile, "CampaignName", m_Name); if (NO_ERR == result) { m_NameUseResourceString = false; } result = sReadIdInteger(fitFile, "NameID", m_NameResourceStringID); if (NO_ERR == result) { m_NameUseResourceString = true; } result = sReadIdBoolean(fitFile, "NameUseResourceString", m_NameUseResourceString); result = sReadIdInteger(fitFile, "CBills", m_CBills); result = sReadIdString(fitFile, "FinalVideo", m_FinalVideo); int groupCount = 0; result = sReadIdInteger(fitFile, "GroupCount", groupCount); if (NO_ERR != result) { return false; } int index; for (index = 0; groupCount > index; index+=1) { ECharString blockName; blockName.Format("Group%d", index); result = fitFile.seekBlock(blockName.Data()); if (NO_ERR != result) { assert(false); continue; } CGroupData groupData; bool bresult = groupData.Read(fitFile, blockName.Data()); if (true != bresult) { assert(false); continue; } m_GroupList.Append(groupData); } fitFile.close(); return true; }
bool CGroupData::Read(FitIniFile &fitFile, const char *groupName) { int result; result = sReadIdString(fitFile, "Label", m_Label); result = sReadIdInteger(fitFile, "NumberToComplete", m_NumMissionsToComplete); result = sReadIdString(fitFile, "OperationFile", m_OperationFile); result = sReadIdString(fitFile, "Video", m_VideoFile); result = sReadIdString(fitFile, "PreVideo", m_PreVideoFile); result = sReadIdInteger(fitFile, "Tune", m_TuneNumber); result = sReadIdString(fitFile, "ABLScript", m_ABLScript); int missionCount = 0; result = sReadIdInteger(fitFile, "MissionCount", missionCount); if (NO_ERR != result) { return false; } int index; for (index = 0; missionCount > index; index+=1) { ECharString blockName; blockName.Format("%sMission%d", groupName, index); result = fitFile.seekBlock(blockName.Data()); if (NO_ERR != result) { assert(false); continue; } CMissionData missionData; bool bresult = missionData.Read(fitFile); if (true != bresult) { assert(false); continue; } m_MissionList.Append(missionData); } return true; }
bool CMissionData::Read(FitIniFile& fitFile) { int32_t result; result = sReadIdString(fitFile, "FileName", m_MissionFile); result = sReadIdBoolean(fitFile, "Mandatory", m_IsMandatory); result = sReadIdString(fitFile, "PurchaseFile", m_PurchaseFile); result = sReadIdBoolean(fitFile, "PlayLogistics", m_LogisticsEnabled); result = sReadIdBoolean(fitFile, "PlaySalvage", m_SalvageEnabled); result = sReadIdBoolean(fitFile, "PlayPilotPromotion", m_PilotPromotionEnabled); result = sReadIdBoolean(fitFile, "PlayPurchasing", m_PurchasingEnabled); result = sReadIdBoolean(fitFile, "PlaySelection", m_MissionSelectionEnabled); return true; }