void CPhysicsSurfaceProps::GetPhysicsParameters(int surfaceDataIndex, surfacephysicsparams_t *pParamsOut) const { if (!pParamsOut) return; const CSurface *pSurface = GetInternalSurface(surfaceDataIndex); if (pSurface) { *pParamsOut = pSurface->data.physics; } }
void CPhysicsSurfaceProps::GetPhysicsProperties(int surfaceDataIndex, float* density, float* thickness, float* friction, float* elasticity) const { const CSurface *pSurface = GetInternalSurface(surfaceDataIndex); if (pSurface) { if (friction) *friction = (float)pSurface->data.physics.friction; if (elasticity) *elasticity = (float)pSurface->data.physics.elasticity; if (density) *density = pSurface->data.physics.density; if (thickness) *thickness = pSurface->data.physics.thickness; } }
void CPhysicsSurfaceProps::CopyPhysicsProperties(CSurface *pOut, int baseIndex) { const CSurface *pSurface = GetInternalSurface(baseIndex); if (pSurface) { pOut->data.physics.density = pSurface->data.physics.density; pOut->data.physics.thickness = pSurface->data.physics.thickness; pOut->data.physics.friction = pSurface->data.physics.friction; pOut->data.physics.elasticity = pSurface->data.physics.elasticity; pOut->data.game.material = pSurface->data.game.material; } }
surfacedata_t* CPhysicsSurfaceProps::GetSurfaceData(int surfaceDataIndex) { CSurface *pSurface = GetInternalSurface(surfaceDataIndex); if (!pSurface) pSurface = GetInternalSurface(GetSurfaceIndex("default")); assert(pSurface); return &pSurface->data; }