mirror of
https://port.numenaute.org/aleajactaest/khanat-opennel-code.git
synced 2024-12-25 18:30:53 +00:00
Skip some files in ig build when possible
This commit is contained in:
parent
6d648fa433
commit
5a9fd95a12
3 changed files with 156 additions and 106 deletions
|
@ -205,6 +205,7 @@ struct SOptions : public SExportOptions
|
|||
{
|
||||
CIXml xml (true);
|
||||
xml.init (fileIn);
|
||||
ZoneRegionFile = filename;
|
||||
ZoneRegion = new CZoneRegion;
|
||||
ZoneRegion->serial (xml);
|
||||
}
|
||||
|
|
|
@ -2402,6 +2402,24 @@ void CExport::transformCMB (const std::string &name, const NLMISC::CMatrix &tran
|
|||
_ExportCB->dispWarning("Can't find " + cmbNoExtension + ".cmb");
|
||||
return;
|
||||
}
|
||||
std::string outFileName = _Options->OutCMBDir +"/" + cmbNoExtension + ".cmb";
|
||||
bool needUpdate = true;
|
||||
if (CFile::fileExists(outFileName))
|
||||
{
|
||||
uint32 outModification = CFile::getFileModificationDate(outFileName);
|
||||
needUpdate =
|
||||
CFile::getFileModificationDate(cmbName) > outModification
|
||||
|| (CFile::fileExists(_Options->HeightMapFile) && (CFile::getFileModificationDate(_Options->HeightMapFile) > outModification))
|
||||
|| (CFile::fileExists(_Options->HeightMapFile2) && (CFile::getFileModificationDate(_Options->HeightMapFile2) > outModification))
|
||||
|| (CFile::fileExists(_Options->ContinentFile) && (CFile::getFileModificationDate(_Options->ContinentFile) > outModification))
|
||||
|| (CFile::fileExists(_Options->ZoneRegionFile) && (CFile::getFileModificationDate(_Options->ZoneRegionFile) > outModification));
|
||||
}
|
||||
if (needUpdate)
|
||||
{
|
||||
if (_ExportCB != NULL)
|
||||
_ExportCB->dispInfo("UPDATE " + cmbName);
|
||||
printf("UPDATE %s\n", cmbName.c_str());
|
||||
|
||||
CIFile inStream;
|
||||
if (inStream.open(cmbName))
|
||||
{
|
||||
|
@ -2412,7 +2430,6 @@ void CExport::transformCMB (const std::string &name, const NLMISC::CMatrix &tran
|
|||
// translate and save
|
||||
cmb.transform (transfo);
|
||||
COFile outStream;
|
||||
std::string outFileName = _Options->OutCMBDir +"/" + cmbNoExtension + ".cmb";
|
||||
if (!outStream.open(outFileName))
|
||||
{
|
||||
if (_ExportCB != NULL)
|
||||
|
@ -2453,6 +2470,13 @@ void CExport::transformCMB (const std::string &name, const NLMISC::CMatrix &tran
|
|||
_ExportCB->dispWarning("Unable to open " + cmbName);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (_ExportCB != NULL)
|
||||
_ExportCB->dispInfo("SKIP " + cmbName);
|
||||
printf("SKIP %s\n", cmbName.c_str());
|
||||
}
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
void CExport::transformAdditionnalIG (const std::string &name, const NLMISC::CMatrix &transfo, const NLMISC::CQuat &rotTransfo) const
|
||||
|
@ -2471,6 +2495,24 @@ void CExport::transformAdditionnalIG (const std::string &name, const NLMISC::CMa
|
|||
_ExportCB->dispWarning("Can't find " + igNoExtension + ".cmb");
|
||||
return;
|
||||
}
|
||||
std::string outFileName = _Options->AdditionnalIGOutDir +"/" + igNoExtension + ".ig";
|
||||
bool needUpdate = true;
|
||||
if (CFile::fileExists(outFileName))
|
||||
{
|
||||
uint32 outModification = CFile::getFileModificationDate(outFileName);
|
||||
needUpdate =
|
||||
CFile::getFileModificationDate(igName) > outModification
|
||||
|| (CFile::fileExists(_Options->HeightMapFile) && (CFile::getFileModificationDate(_Options->HeightMapFile) > outModification))
|
||||
|| (CFile::fileExists(_Options->HeightMapFile2) && (CFile::getFileModificationDate(_Options->HeightMapFile2) > outModification))
|
||||
|| (CFile::fileExists(_Options->ContinentFile) && (CFile::getFileModificationDate(_Options->ContinentFile) > outModification))
|
||||
|| (CFile::fileExists(_Options->ZoneRegionFile) && (CFile::getFileModificationDate(_Options->ZoneRegionFile) > outModification));
|
||||
}
|
||||
if (needUpdate)
|
||||
{
|
||||
if (_ExportCB != NULL)
|
||||
_ExportCB->dispInfo("UPDATE " + igName);
|
||||
printf("UPDATE %s\n", igName.c_str());
|
||||
|
||||
CIFile inStream;
|
||||
if (inStream.open(igName))
|
||||
{
|
||||
|
@ -2524,7 +2566,6 @@ void CExport::transformAdditionnalIG (const std::string &name, const NLMISC::CMa
|
|||
igOut.enableRealTimeSunContribution(realTimeSuncontribution);
|
||||
|
||||
COFile outStream;
|
||||
std::string outFileName = _Options->AdditionnalIGOutDir +"/" + igNoExtension + ".ig";
|
||||
if (!outStream.open(outFileName))
|
||||
{
|
||||
if (_ExportCB != NULL)
|
||||
|
@ -2565,6 +2606,13 @@ void CExport::transformAdditionnalIG (const std::string &name, const NLMISC::CMa
|
|||
_ExportCB->dispWarning("Unable to open " + igName);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (_ExportCB != NULL)
|
||||
_ExportCB->dispInfo("SKIP " + igName);
|
||||
printf("SKIP %s\n", igName.c_str());
|
||||
}
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
void CExport::exportCMBAndAdditionnalIGs()
|
||||
|
|
|
@ -107,6 +107,7 @@ struct SExportOptions
|
|||
|
||||
|
||||
// Options not saved
|
||||
std::string ZoneRegionFile;
|
||||
NLLIGO::CZoneRegion *ZoneRegion; // The region to make
|
||||
float CellSize;
|
||||
float Threshold;
|
||||
|
|
Loading…
Reference in a new issue