mirror of https://github.com/AxioDL/metaforce.git
Keep original paths for areas, worlds, and maps when not in a world pak
This commit is contained in:
parent
9726682939
commit
95062eceb4
|
@ -92,8 +92,14 @@ bool ReadMAPAToBlender(hecl::BlenderConnection& conn,
|
||||||
const typename PAKRouter::EntryType& entry,
|
const typename PAKRouter::EntryType& entry,
|
||||||
bool force)
|
bool force)
|
||||||
{
|
{
|
||||||
|
hecl::ProjectPath mapaPath;
|
||||||
|
if (pakRouter.isShared())
|
||||||
/* Rename MAPA for consistency */
|
/* Rename MAPA for consistency */
|
||||||
hecl::ProjectPath mapaPath(outPath.getParentPath(), _S("!map.blend"));
|
mapaPath = hecl::ProjectPath(outPath.getParentPath(), _S("!map.blend"));
|
||||||
|
else
|
||||||
|
/* We're not in a world pak, so lets keep the original name */
|
||||||
|
mapaPath = outPath;
|
||||||
|
|
||||||
if (!force && mapaPath.getPathType() == hecl::ProjectPath::Type::File)
|
if (!force && mapaPath.getPathType() == hecl::ProjectPath::Type::File)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,13 @@ bool ReadMLVLToBlender(hecl::BlenderConnection& conn,
|
||||||
bool force,
|
bool force,
|
||||||
std::function<void(const hecl::SystemChar*)> fileChanged)
|
std::function<void(const hecl::SystemChar*)> fileChanged)
|
||||||
{
|
{
|
||||||
|
hecl::ProjectPath mlvlPath;
|
||||||
|
if (pakRouter.isShared())
|
||||||
/* Rename MLVL for consistency */
|
/* Rename MLVL for consistency */
|
||||||
hecl::ProjectPath mlvlPath(outPath.getParentPath(), _S("!world.blend"));
|
mlvlPath = hecl::ProjectPath(outPath.getParentPath(), _S("!world.blend"));
|
||||||
|
else
|
||||||
|
/* We're not in a world pak, so lets keep the original name */
|
||||||
|
mlvlPath = outPath;
|
||||||
if (!force && mlvlPath.getPathType() == hecl::ProjectPath::Type::File)
|
if (!force && mlvlPath.getPathType() == hecl::ProjectPath::Type::File)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
|
|
@ -147,6 +147,7 @@ public:
|
||||||
hecl::ProjectPath getWorking(const IDType& id) const;
|
hecl::ProjectPath getWorking(const IDType& id) const;
|
||||||
hecl::ProjectPath getCooked(const EntryType* entry) const;
|
hecl::ProjectPath getCooked(const EntryType* entry) const;
|
||||||
hecl::ProjectPath getCooked(const IDType& id) const;
|
hecl::ProjectPath getCooked(const IDType& id) const;
|
||||||
|
bool isShared() { return m_pak ? !m_pak->m_noShare : false; }
|
||||||
|
|
||||||
hecl::SystemString getResourceRelativePath(const EntryType& a, const IDType& b) const;
|
hecl::SystemString getResourceRelativePath(const EntryType& a, const IDType& b) const;
|
||||||
|
|
||||||
|
|
|
@ -62,8 +62,14 @@ bool MREA::Extract(const SpecBase& dataSpec,
|
||||||
using RigPair = std::pair<CSKR*, CINF*>;
|
using RigPair = std::pair<CSKR*, CINF*>;
|
||||||
RigPair dummy(nullptr, nullptr);
|
RigPair dummy(nullptr, nullptr);
|
||||||
|
|
||||||
|
hecl::ProjectPath mreaPath;
|
||||||
|
if (pakRouter.isShared())
|
||||||
/* Rename MREA for consistency */
|
/* Rename MREA for consistency */
|
||||||
hecl::ProjectPath mreaPath(outPath.getParentPath(), _S("!area.blend"));
|
mreaPath = hecl::ProjectPath(outPath.getParentPath(), _S("!area.blend"));
|
||||||
|
else
|
||||||
|
/* We're not in a world pak, so lets keep the original name */
|
||||||
|
mreaPath = outPath;
|
||||||
|
|
||||||
if (!force && mreaPath.getPathType() == hecl::ProjectPath::Type::File)
|
if (!force && mreaPath.getPathType() == hecl::ProjectPath::Type::File)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
|
|
@ -168,8 +168,14 @@ bool MREA::Extract(const SpecBase& dataSpec,
|
||||||
using RigPair = std::pair<CSKR*, CINF*>;
|
using RigPair = std::pair<CSKR*, CINF*>;
|
||||||
RigPair dummy(nullptr, nullptr);
|
RigPair dummy(nullptr, nullptr);
|
||||||
|
|
||||||
|
hecl::ProjectPath mreaPath;
|
||||||
|
if (pakRouter.isShared())
|
||||||
/* Rename MREA for consistency */
|
/* Rename MREA for consistency */
|
||||||
hecl::ProjectPath mreaPath(outPath.getParentPath(), _S("!area.blend"));
|
mreaPath = hecl::ProjectPath(outPath.getParentPath(), _S("!area.blend"));
|
||||||
|
else
|
||||||
|
/* We're not in a world pak, so lets keep the original name */
|
||||||
|
mreaPath = outPath;
|
||||||
|
|
||||||
if (!force && mreaPath.getPathType() == hecl::ProjectPath::Type::File)
|
if (!force && mreaPath.getPathType() == hecl::ProjectPath::Type::File)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
|
|
@ -77,8 +77,14 @@ bool MREA::Extract(const SpecBase& dataSpec,
|
||||||
using RigPair = std::pair<CSKR*, CINF*>;
|
using RigPair = std::pair<CSKR*, CINF*>;
|
||||||
RigPair dummy(nullptr, nullptr);
|
RigPair dummy(nullptr, nullptr);
|
||||||
|
|
||||||
|
hecl::ProjectPath mreaPath;
|
||||||
|
if (pakRouter.isShared())
|
||||||
/* Rename MREA for consistency */
|
/* Rename MREA for consistency */
|
||||||
hecl::ProjectPath mreaPath(outPath.getParentPath(), _S("!area.blend"));
|
mreaPath = hecl::ProjectPath(outPath.getParentPath(), _S("!area.blend"));
|
||||||
|
else
|
||||||
|
/* We're not in a world pak, so lets keep the original name */
|
||||||
|
mreaPath = outPath;
|
||||||
|
|
||||||
if (!force && mreaPath.getPathType() == hecl::ProjectPath::Type::File)
|
if (!force && mreaPath.getPathType() == hecl::ProjectPath::Type::File)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue