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;
|
||||
std::string name;
|
||||
UniqueID32 cmdl;
|
||||
UniqueID32 _cskrOld;
|
||||
UniqueID32 _cinfOld;
|
||||
AuxiliaryID32 cskr = _S("skin");
|
||||
AuxiliaryID32 cinf = {_S("layout"), _S(".blend")};
|
||||
|
||||
|
@ -145,6 +147,7 @@ struct ANCS : BigYAML
|
|||
std::vector<Effect> effects;
|
||||
|
||||
UniqueID32 cmdlOverlay;
|
||||
UniqueID32 _cskrOverlayOld;
|
||||
AuxiliaryID32 cskrOverlay = _S("skin");
|
||||
|
||||
std::vector<atUint32> animIdxs;
|
||||
|
@ -569,11 +572,11 @@ struct ANCS : BigYAML
|
|||
DNAANCS::CharacterResInfo<UniqueID32>& chOut = out.back();
|
||||
chOut.name = ci.name;
|
||||
chOut.cmdl = ci.cmdl;
|
||||
chOut.cskr = ci.cskr.getBaseId();
|
||||
chOut.cinf = ci.cinf.getBaseId();
|
||||
chOut.cskr = ci._cskrOld;
|
||||
chOut.cinf = ci._cinfOld;
|
||||
|
||||
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)
|
||||
{
|
||||
character._cskrOld = character.cskr;
|
||||
character._cinfOld = character.cinf;
|
||||
character.cskr = character.cmdl;
|
||||
character.cinf = ancsId;
|
||||
character._cskrOverlayOld = character.cskrOverlay;
|
||||
character.cskrOverlay = character.cmdlOverlay;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -41,6 +41,8 @@ struct ANCS : BigYAML
|
|||
atUint32 idx;
|
||||
std::string name;
|
||||
UniqueID32 cmdl;
|
||||
UniqueID32 _cskrOld;
|
||||
UniqueID32 _cinfOld;
|
||||
AuxiliaryID32 cskr = _S("skin");
|
||||
AuxiliaryID32 cinf = {_S("layout"), _S("skin")};
|
||||
|
||||
|
@ -88,6 +90,7 @@ struct ANCS : BigYAML
|
|||
std::vector<Effect> effects;
|
||||
|
||||
UniqueID32 cmdlOverlay;
|
||||
UniqueID32 _cskrOverlayOld;
|
||||
AuxiliaryID32 cskrOverlay = _S("skin");
|
||||
|
||||
std::vector<atUint32> animIdxs;
|
||||
|
@ -201,11 +204,11 @@ struct ANCS : BigYAML
|
|||
DNAANCS::CharacterResInfo<UniqueID32>& chOut = out.back();
|
||||
chOut.name = ci.name;
|
||||
chOut.cmdl = ci.cmdl;
|
||||
chOut.cskr = ci.cskr.getBaseId();
|
||||
chOut.cinf = ci.cinf.getBaseId();
|
||||
chOut.cskr = ci._cskrOld;
|
||||
chOut.cinf = ci._cinfOld;
|
||||
|
||||
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