mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-15 22:57:02 +00:00
Shader refactor bug fixes and attachment model extract/cook
This commit is contained in:
@@ -26,8 +26,8 @@ struct Babygoth : IScriptObject
|
||||
DamageInfo damageInfo3;
|
||||
DamageVulnerability damageVulnerabilty1;
|
||||
DamageVulnerability damageVulnerabilty2;
|
||||
UniqueID32 model;
|
||||
UniqueID32 skin;
|
||||
UniqueID32 cmdlShelless;
|
||||
UniqueID32 cskrShelless;
|
||||
Value<float> unknown3;
|
||||
Value<atUint32> unknown4;
|
||||
UniqueID32 particle2;
|
||||
@@ -44,13 +44,19 @@ struct Babygoth : IScriptObject
|
||||
Value<atUint32> unknown11;
|
||||
UniqueID32 particle6;
|
||||
|
||||
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter,
|
||||
std::unordered_map<UniqueID32, std::pair<UniqueID32, UniqueID32>>& addTo) const
|
||||
void addCMDLRigPairs(PAKRouter<PAKBridge>& pakRouter, CharacterAssociations<UniqueID32>& charAssoc) const
|
||||
{
|
||||
UniqueID32 cinf = patternedInfo.animationParameters.getCINF(pakRouter);
|
||||
actorParameters.addCMDLRigPairs(addTo, cinf);
|
||||
if (model && skin)
|
||||
addTo[model] = std::make_pair(skin, cinf);
|
||||
actorParameters.addCMDLRigPairs(pakRouter, charAssoc, patternedInfo.animationParameters);
|
||||
|
||||
if (cmdlShelless && cskrShelless)
|
||||
{
|
||||
charAssoc.m_cmdlRigs[cmdlShelless] = std::make_pair(cskrShelless, cinf);
|
||||
charAssoc.m_cskrCinfToCharacter[cskrShelless] = std::make_pair(
|
||||
patternedInfo.animationParameters.animationCharacterSet, "ATTACH.SHELLESS.CSKR");
|
||||
charAssoc.addAttachmentRig(patternedInfo.animationParameters.animationCharacterSet,
|
||||
{}, cmdlShelless, "SHELLESS");
|
||||
}
|
||||
}
|
||||
|
||||
void nameIDs(PAKRouter<PAKBridge>& pakRouter) const
|
||||
@@ -70,14 +76,14 @@ struct Babygoth : IScriptObject
|
||||
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(particle1);
|
||||
ent->name = name + "_part1";
|
||||
}
|
||||
if (model)
|
||||
if (cmdlShelless)
|
||||
{
|
||||
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(model);
|
||||
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(cmdlShelless);
|
||||
ent->name = name + "_emodel";
|
||||
}
|
||||
if (skin)
|
||||
if (cskrShelless)
|
||||
{
|
||||
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(skin);
|
||||
PAK::Entry* ent = (PAK::Entry*)pakRouter.lookupEntry(cskrShelless);
|
||||
ent->name = name + "_eskin";
|
||||
}
|
||||
if (particle2)
|
||||
@@ -120,8 +126,8 @@ struct Babygoth : IScriptObject
|
||||
g_curSpec->flattenDependencies(wpsc1, pathsOut);
|
||||
g_curSpec->flattenDependencies(wpsc2, pathsOut);
|
||||
g_curSpec->flattenDependencies(particle1, pathsOut);
|
||||
g_curSpec->flattenDependencies(model, pathsOut);
|
||||
g_curSpec->flattenDependencies(skin, pathsOut);
|
||||
g_curSpec->flattenDependencies(cmdlShelless, pathsOut);
|
||||
g_curSpec->flattenDependencies(cskrShelless, pathsOut);
|
||||
g_curSpec->flattenDependencies(particle2, pathsOut);
|
||||
g_curSpec->flattenDependencies(particle3, pathsOut);
|
||||
g_curSpec->flattenDependencies(particle4, pathsOut);
|
||||
|
||||
Reference in New Issue
Block a user