SurfaceProperties: Be more pedantic about what object can contain material
info in SurfData_Impact()
This commit is contained in:
parent
1a26181241
commit
50312d500a
2 changed files with 13 additions and 5 deletions
|
@ -257,13 +257,21 @@ void
|
|||
NSSurfacePropEntity::SurfaceDataFinish(void)
|
||||
{
|
||||
SurfData_SetStage(m_strSurfData);
|
||||
m_iMaterial = SurfData_Finish();
|
||||
|
||||
if (m_strSurfData)
|
||||
m_iMaterial = SurfData_Finish();
|
||||
else
|
||||
m_iMaterial = -1;
|
||||
}
|
||||
void
|
||||
NSSurfacePropEntity::PropDataFinish(void)
|
||||
{
|
||||
PropData_SetStage(m_strPropData);
|
||||
m_iPropData = PropData_Finish();
|
||||
|
||||
if (m_strPropData)
|
||||
m_iPropData = PropData_Finish();
|
||||
else
|
||||
m_iPropData = -1;
|
||||
}
|
||||
#else
|
||||
float
|
||||
|
|
|
@ -489,10 +489,10 @@ SurfData_Impact(entity e, int fl, vector org, vector ang)
|
|||
} else { /* anything with takedamage = DAMAGE_YES is a NSurfacePropEntity. */
|
||||
NSSurfacePropEntity foo = (NSSurfacePropEntity)e;
|
||||
|
||||
if (foo.GetSurfaceData(SURFDATA_MATERIAL) == -1)
|
||||
SurfData_Impact_SurfaceParm(e, fl, org, ang);
|
||||
else
|
||||
if (foo.HasSurfaceData() && foo.GetSurfaceData(SURFDATA_MATERIAL) != -1)
|
||||
FX_Impact(foo.GetSurfaceData(SURFDATA_FX_IMPACT), org, ang);
|
||||
else
|
||||
SurfData_Impact_SurfaceParm(e, fl, org, ang);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue