2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-09 23:07:43 +00:00

added extract tool

This commit is contained in:
Jack Andersen
2015-06-11 23:08:49 -10:00
parent 8de863fcba
commit 4b13e9da9d
10 changed files with 123 additions and 22 deletions

View File

@@ -51,9 +51,7 @@ ProjectPath::ProjectPath(const ProjectRootPath& rootPath, const SystemString& pa
if (*beginit == _S('/'))
++beginit;
m_relPath = SystemString(beginit, m_absPath.end());
std::hash<std::string> hash_fn;
m_hash = hash_fn(std::string(m_relPath));
m_hash = Hash(m_relPath);
#if HECL_UCS2
m_utf8AbsPath = WideToUTF8(m_absPath);
@@ -205,7 +203,7 @@ std::unique_ptr<ProjectRootPath> SearchForProject(const SystemString& path)
while (begin != end)
{
SystemString testPath(begin, end);
SystemString testIndexPath = testPath + _S("/.hecl/index");
SystemString testIndexPath = testPath + _S("/.hecl/beacon");
struct stat theStat;
if (!HECL::Stat(testIndexPath.c_str(), &theStat))
{

View File

@@ -40,9 +40,10 @@ static inline bool CheckNewLineAdvance(std::string::const_iterator& it)
return false;
}
Project::ConfigFile::ConfigFile(const Project& project, const SystemString& name)
Project::ConfigFile::ConfigFile(const Project& project, const SystemString& name,
const SystemString& subdir)
{
m_filepath = project.m_rootPath.getAbsolutePath() + _S("/.hecl/config/") + name;
m_filepath = project.m_rootPath.getAbsolutePath() + subdir + name;
}
std::list<std::string>& Project::ConfigFile::lockAndRead()
@@ -184,7 +185,6 @@ Project::Project(const ProjectRootPath& rootPath)
/* Create project directory structure */
HECL::MakeDir(m_rootPath.getAbsolutePath() + _S("/.hecl"));
HECL::MakeDir(m_rootPath.getAbsolutePath() + _S("/.hecl/cooked"));
HECL::MakeDir(m_rootPath.getAbsolutePath() + _S("/.hecl/config"));
/* Ensure beacon is valid or created */
FILE* bf = HECL::Fopen((m_rootPath.getAbsolutePath() + _S("/.hecl/beacon")).c_str(), _S("a+b"));