mirror of https://github.com/AxioDL/metaforce.git
Fix horrible memory leak
This commit is contained in:
parent
234573938a
commit
3723076ae3
|
@ -40,6 +40,8 @@ struct ANCS : BigYAML
|
||||||
atUint32 idx;
|
atUint32 idx;
|
||||||
std::string name;
|
std::string name;
|
||||||
UniqueID32 cmdl;
|
UniqueID32 cmdl;
|
||||||
|
UniqueID32 _cskrOld;
|
||||||
|
UniqueID32 _cinfOld;
|
||||||
AuxiliaryID32 cskr = _S("skin");
|
AuxiliaryID32 cskr = _S("skin");
|
||||||
AuxiliaryID32 cinf = {_S("layout"), _S(".blend")};
|
AuxiliaryID32 cinf = {_S("layout"), _S(".blend")};
|
||||||
|
|
||||||
|
@ -145,6 +147,7 @@ struct ANCS : BigYAML
|
||||||
std::vector<Effect> effects;
|
std::vector<Effect> effects;
|
||||||
|
|
||||||
UniqueID32 cmdlOverlay;
|
UniqueID32 cmdlOverlay;
|
||||||
|
UniqueID32 _cskrOverlayOld;
|
||||||
AuxiliaryID32 cskrOverlay = _S("skin");
|
AuxiliaryID32 cskrOverlay = _S("skin");
|
||||||
|
|
||||||
std::vector<atUint32> animIdxs;
|
std::vector<atUint32> animIdxs;
|
||||||
|
@ -569,11 +572,11 @@ struct ANCS : BigYAML
|
||||||
DNAANCS::CharacterResInfo<UniqueID32>& chOut = out.back();
|
DNAANCS::CharacterResInfo<UniqueID32>& chOut = out.back();
|
||||||
chOut.name = ci.name;
|
chOut.name = ci.name;
|
||||||
chOut.cmdl = ci.cmdl;
|
chOut.cmdl = ci.cmdl;
|
||||||
chOut.cskr = ci.cskr.getBaseId();
|
chOut.cskr = ci._cskrOld;
|
||||||
chOut.cinf = ci.cinf.getBaseId();
|
chOut.cinf = ci._cinfOld;
|
||||||
|
|
||||||
if (ci.cmdlOverlay)
|
if (ci.cmdlOverlay)
|
||||||
chOut.overlays.emplace_back(FOURCC('OVER'), std::make_pair(ci.cmdlOverlay, ci.cskrOverlay.getBaseId()));
|
chOut.overlays.emplace_back(FOURCC('OVER'), std::make_pair(ci.cmdlOverlay, ci._cskrOverlayOld));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -599,8 +602,11 @@ struct ANCS : BigYAML
|
||||||
{
|
{
|
||||||
for (CharacterSet::CharacterInfo& character : characterSet.characters)
|
for (CharacterSet::CharacterInfo& character : characterSet.characters)
|
||||||
{
|
{
|
||||||
|
character._cskrOld = character.cskr;
|
||||||
|
character._cinfOld = character.cinf;
|
||||||
character.cskr = character.cmdl;
|
character.cskr = character.cmdl;
|
||||||
character.cinf = ancsId;
|
character.cinf = ancsId;
|
||||||
|
character._cskrOverlayOld = character.cskrOverlay;
|
||||||
character.cskrOverlay = character.cmdlOverlay;
|
character.cskrOverlay = character.cmdlOverlay;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,6 +41,8 @@ struct ANCS : BigYAML
|
||||||
atUint32 idx;
|
atUint32 idx;
|
||||||
std::string name;
|
std::string name;
|
||||||
UniqueID32 cmdl;
|
UniqueID32 cmdl;
|
||||||
|
UniqueID32 _cskrOld;
|
||||||
|
UniqueID32 _cinfOld;
|
||||||
AuxiliaryID32 cskr = _S("skin");
|
AuxiliaryID32 cskr = _S("skin");
|
||||||
AuxiliaryID32 cinf = {_S("layout"), _S("skin")};
|
AuxiliaryID32 cinf = {_S("layout"), _S("skin")};
|
||||||
|
|
||||||
|
@ -88,6 +90,7 @@ struct ANCS : BigYAML
|
||||||
std::vector<Effect> effects;
|
std::vector<Effect> effects;
|
||||||
|
|
||||||
UniqueID32 cmdlOverlay;
|
UniqueID32 cmdlOverlay;
|
||||||
|
UniqueID32 _cskrOverlayOld;
|
||||||
AuxiliaryID32 cskrOverlay = _S("skin");
|
AuxiliaryID32 cskrOverlay = _S("skin");
|
||||||
|
|
||||||
std::vector<atUint32> animIdxs;
|
std::vector<atUint32> animIdxs;
|
||||||
|
@ -201,11 +204,11 @@ struct ANCS : BigYAML
|
||||||
DNAANCS::CharacterResInfo<UniqueID32>& chOut = out.back();
|
DNAANCS::CharacterResInfo<UniqueID32>& chOut = out.back();
|
||||||
chOut.name = ci.name;
|
chOut.name = ci.name;
|
||||||
chOut.cmdl = ci.cmdl;
|
chOut.cmdl = ci.cmdl;
|
||||||
chOut.cskr = ci.cskr.getBaseId();
|
chOut.cskr = ci._cskrOld;
|
||||||
chOut.cinf = ci.cinf.getBaseId();
|
chOut.cinf = ci._cinfOld;
|
||||||
|
|
||||||
if (ci.cmdlOverlay)
|
if (ci.cmdlOverlay)
|
||||||
chOut.overlays.emplace_back(FOURCC('OVER'), std::make_pair(ci.cmdlOverlay, ci.cskrOverlay.getBaseId()));
|
chOut.overlays.emplace_back(FOURCC('OVER'), std::make_pair(ci.cmdlOverlay, ci._cskrOverlayOld));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
2
hecl
2
hecl
|
@ -1 +1 @@
|
||||||
Subproject commit de043503e5d2312ccc10876b0ac3d5ebb91bb768
|
Subproject commit 22d1a5a98969e82bc314e9908f7f0d677eb4a9d5
|
Loading…
Reference in New Issue