So I've figured out how to load another GLA ontop of the base _humanoid GLA and the cinematic map GLA. Here's the code: NPC_stats.cpp - Game Find line "if (Q_stricmp(skeletonName, "_humanoid")==0)" and put this in after the cinematic GLA stuff.
// loading the "modder" animation GLA for new animations, so animators don't need to edit the base _humanoid GLA.
char _humanoid_mod1Name[MAX_QPATH];
Com_sprintf(_humanoid_mod1Name, MAX_QPATH, "_humanoid_mod1");
const int mod1_animsGLAIndex = gi.G2API_PrecacheGhoul2Model(va("models/players/%s/%s.gla", _humanoid_mod1Name, _humanoid_mod1Name));
if (mod1_animsGLAIndex)
{
assert(mod1_animsGLAIndex == normalGLAIndex + 2);
if (mod1_animsGLAIndex != normalGLAIndex + 2)
{
Com_Error(ERR_DROP, "_humanoid_mod1 GLA was not loaded after the normal GLA. Cannot continue safely.");
}
G_ParseAnimationFile(2, _humanoid_mod1Name, fileIndex);
G_ParseAnimationEvtFile(2, _humanoid_mod1Name, fileIndex, mod1_animsGLAIndex, false/*flag for model specific*/);
}
tr_ghoul2.cpp - Renderer Find line "if (!strcmp(mdxm->animName,"models/players/_humanoid/_humanoid"))" and put this in after the cinematic GLA code.
// loading the "modder" animation GLA for new animations, so animators don't need to edit the base _humanoid GLA.
RE_RegisterModel("models/players/_humanoid_mod1/_humanoid_mod1.gla");
This "modder GLA" takes preference over the base _humanoid & cinematic GLAs in-game, so modders can do easy animation replacements. You can make stance mods or add new animations (would need code edits obviously for new animations) without having to touch the base _humanoid GLA.