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;
}