예제 #1
0
bool CCampaignData::Save(CString pathName)
{
	FitIniFile fitFile;
	int32_t result = fitFile.create(pathName.GetBuffer(0));
	if(result != NO_ERROR)
	{
		return false;
	}
	fitFile.writeBlock("Campaign");
	fitFile.writeIdBoolean("NameUseResourceString", m_NameUseResourceString);
	if(!m_NameUseResourceString)
	{
		fitFile.writeIdString("CampaignName", m_Name.GetBuffer(0));
	}
	else
	{
		fitFile.writeIdLong("NameID", m_NameResourceStringID);
	}
	fitFile.writeIdLong("CBills", m_CBills);
	fitFile.writeIdString("FinalVideo", m_FinalVideo.GetBuffer(0));
	fitFile.writeIdLong("GroupCount", m_GroupList.Count());
	CGroupList::EIterator it;
	int32_t index;
	for(it = m_GroupList.Begin(), index = 0; !it.IsDone(); it++, index += 1)
	{
		ECharString blockName;
		blockName.Format("Group%d", index);
		fitFile.writeBlock(blockName.Data());
		(*it).Save(fitFile, blockName.Data());
	}
	fitFile.close();
	return true;
}
long LogisticsVariant::save( FitIniFile& file, long counter )
{
	char tmp[256];
	char tmp2[256];
	sprintf( tmp, "Variant%ld", counter );
	file.writeBlock( tmp );
	
	file.writeIdString( "Chassis", chassis->fileName );
	file.writeIdString( "VariantName", variantName );
	file.writeIdLong( "ComponentCount", componentCount );

	for ( int i = 0; i < componentCount; i++ )
	{
		sprintf( tmp, "Component%ld", i );
		file.writeIdLong(tmp, components[i].component->getID() );
		
		strcpy( tmp2, tmp );
		strcat( tmp2, "x" );
		file.writeIdLong( tmp2, components[i].xCoord );

		strcpy( tmp2, tmp );
		strcat( tmp2, "y" );
		file.writeIdLong( tmp2, components[i].yCoord );

		strcpy( tmp2, tmp );
		strcat( tmp2, "Location" );
		file.writeIdLong( tmp2, components[i].location );
	}

	return 0;
}
예제 #3
0
bool CGroupData::Save(FitIniFile &fitFile, const char *groupName) {
	fitFile.writeIdString( "Label", m_Label.GetBuffer(0));
	fitFile.writeIdLong("NumberToComplete", m_NumMissionsToComplete);
	fitFile.writeIdString( "OperationFile", m_OperationFile.GetBuffer(0));
	fitFile.writeIdString( "Video", m_VideoFile.GetBuffer(0));
	fitFile.writeIdString( "PreVideo", m_PreVideoFile.GetBuffer(0));
	fitFile.writeIdLong("Tune", m_TuneNumber);
	fitFile.writeIdLong("MissionCount", m_MissionList.Count());
	if (!m_ABLScript.IsEmpty()) {
		fitFile.writeIdString( "ABLScript", m_ABLScript.GetBuffer(0));
	}

	CMissionList::EIterator it;
	int index;
	for (it = m_MissionList.Begin(), index = 0; !it.IsDone(); it++, index+=1) {
		ECharString blockName;
		blockName.Format("%sMission%d", groupName, index);
		fitFile.writeBlock(blockName.Data());
		(*it).Save(fitFile);
	}
	return true;
}