NSMonster: change entity spawn key 'body_on_draw' to support a group prefix (e.g. 1:2 for group 1, model 2)

This commit is contained in:
Marco Cawthorne 2023-06-28 14:29:33 -07:00
parent d5bb5f933d
commit a79ffd77b0
Signed by: eukara
GPG key ID: CE2032F0A2882A22
3 changed files with 11 additions and 7 deletions

View file

@ -491,7 +491,7 @@ private:
string m_sndRangedAttack2;
bool m_bWeaponStartsDrawn;
float m_flBodyOnDraw;
string m_strBodyOnDraw;
float m_flWalkSpeed;
float m_flRunSpeed;

View file

@ -832,8 +832,15 @@ NSMonster::AttackDraw(void)
AnimPlay(actDraw);
m_flAttackThink = time + frameduration(modelindex, actDraw);
if (m_flBodyOnDraw)
SetBody(m_flBodyOnDraw);
if (m_strBodyOnDraw) {
int t = tokenizebyseparator(m_strBodyOnDraw, ":");
if (t == 1) {
SetBodyInGroup(0, stoi(argv(0)));
} else if (t == 2) {
SetBodyInGroup(stoi(argv(0)), stoi(argv(1)));
}
}
}
void
@ -1521,7 +1528,7 @@ NSMonster::SpawnKey(string strKey, string strValue)
m_bWeaponStartsDrawn = ReadBool(strValue);
break;
case "body_on_draw":
m_flBodyOnDraw = ReadFloat(strValue);
m_strBodyOnDraw = ReadString(strValue);
break;
case "speed_walk":
m_flWalkSpeed = ReadFloat(strValue);

View file

@ -587,8 +587,6 @@ NSRenderableEntity::SetBody(int newBody)
{
m_iBody = newBody;
breakpoint();
#ifdef CLIENT
_UpdateGeomset();
#endif
@ -600,7 +598,6 @@ NSRenderableEntity::SetBodyInGroup(int groupID, int bodyValue)
/* pack our half bytes */
m_iBody |= (bodyValue << (4 * groupID));
//print(sprintf("NEW BODY: %i %i %i\n", m_iBody, groupID, bodyValue));
breakpoint();
}
void