mirror of https://github.com/AxioDL/metaforce.git
FRME and AGSC cooking fixes
This commit is contained in:
parent
04452ad919
commit
00247ca53e
|
@ -13,6 +13,7 @@
|
||||||
#include "DNAMP1/ANCS.hpp"
|
#include "DNAMP1/ANCS.hpp"
|
||||||
#include "DNAMP1/AGSC.hpp"
|
#include "DNAMP1/AGSC.hpp"
|
||||||
#include "DNAMP1/CSNG.hpp"
|
#include "DNAMP1/CSNG.hpp"
|
||||||
|
#include "DNACommon/ATBL.hpp"
|
||||||
#include "DNACommon/FONT.hpp"
|
#include "DNACommon/FONT.hpp"
|
||||||
#include "DNACommon/PART.hpp"
|
#include "DNACommon/PART.hpp"
|
||||||
#include "DNACommon/SWHC.hpp"
|
#include "DNACommon/SWHC.hpp"
|
||||||
|
@ -384,6 +385,20 @@ struct SpecMP1 : SpecBase
|
||||||
return {SBIG('CSKR'), path.hash().val32()};
|
return {SBIG('CSKR'), path.hash().val32()};
|
||||||
else if (hecl::StringUtils::EndsWith(path.getAuxInfo(), _S(".ANIM")))
|
else if (hecl::StringUtils::EndsWith(path.getAuxInfo(), _S(".ANIM")))
|
||||||
return {SBIG('ANIM'), path.hash().val32()};
|
return {SBIG('ANIM'), path.hash().val32()};
|
||||||
|
else if (const hecl::SystemChar* ext = path.getLastComponentExt())
|
||||||
|
{
|
||||||
|
if (ext[0] == _S('*') || !hecl::StrCmp(ext, _S("proj")))
|
||||||
|
{
|
||||||
|
if (path.getWithExtension(_S(".proj"), true).isFile() &&
|
||||||
|
path.getWithExtension(_S(".pool"), true).isFile() &&
|
||||||
|
path.getWithExtension(_S(".sdir"), true).isFile() &&
|
||||||
|
path.getWithExtension(_S(".samp"), true).isFile())
|
||||||
|
{
|
||||||
|
hecl::ProjectPath glob = path.getWithExtension(_S(".*"), true);
|
||||||
|
return {SBIG('AGSC'), glob.hash().val32()};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
hecl::ProjectPath asBlend;
|
hecl::ProjectPath asBlend;
|
||||||
if (path.getPathType() == hecl::ProjectPath::Type::Glob)
|
if (path.getPathType() == hecl::ProjectPath::Type::Glob)
|
||||||
|
@ -515,6 +530,11 @@ struct SpecMP1 : SpecBase
|
||||||
resTag.type = SBIG('HINT');
|
resTag.type = SBIG('HINT');
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
else if (!strcmp(className, "ATBL"))
|
||||||
|
{
|
||||||
|
resTag.type = SBIG('ATBL');
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}))
|
}))
|
||||||
|
@ -713,6 +733,10 @@ struct SpecMP1 : SpecBase
|
||||||
{
|
{
|
||||||
DNAMP1::HINT::Cook(in, out);
|
DNAMP1::HINT::Cook(in, out);
|
||||||
}
|
}
|
||||||
|
else if (!classStr.compare("ATBL"))
|
||||||
|
{
|
||||||
|
DNAAudio::ATBL::Cook(in, out);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
progress(_S("Done"));
|
progress(_S("Done"));
|
||||||
}
|
}
|
||||||
|
|
|
@ -239,6 +239,12 @@ bool ProjectResourceFactoryBase::AddFileToIndex(const hecl::ProjectPath& path,
|
||||||
DumpCacheAdd(pathTag, subPath);
|
DumpCacheAdd(pathTag, subPath);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
else if (pathTag.type == SBIG('AGSC'))
|
||||||
|
{
|
||||||
|
/* Transform tag to glob */
|
||||||
|
pathTag = {SBIG('AGSC'), asGlob.hash().val32()};
|
||||||
|
useGlob = true;
|
||||||
|
}
|
||||||
|
|
||||||
/* Cache in-memory */
|
/* Cache in-memory */
|
||||||
const hecl::ProjectPath& usePath = useGlob ? asGlob : path;
|
const hecl::ProjectPath& usePath = useGlob ? asGlob : path;
|
||||||
|
@ -357,7 +363,7 @@ void ProjectResourceFactoryBase::BackgroundIndexProc()
|
||||||
std::string chLower = child.first;
|
std::string chLower = child.first;
|
||||||
std::transform(chLower.cbegin(), chLower.cend(), chLower.begin(), tolower);
|
std::transform(chLower.cbegin(), chLower.cend(), chLower.begin(), tolower);
|
||||||
m_catalogNameToTag[chLower] = search->first;
|
m_catalogNameToTag[chLower] = search->first;
|
||||||
WriteNameTag(nameWriter, search->first, chLower);
|
WriteNameTag(nameWriter, search->first, child.first);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
2
hecl
2
hecl
|
@ -1 +1 @@
|
||||||
Subproject commit 92be7073997f5a4ea4a040b893a11eed3dca5b70
|
Subproject commit 2f606a03a98bd5c2d06410bcfb597fbedede4a81
|
Loading…
Reference in New Issue