| 1720 | void CCar::ResetScriptData(void* P) { CScriptEntity::ResetScriptData(P); } |
| 1721 | |
| 1722 | void CCar::PhDataUpdate(dReal step) |
| 1723 | { |
| 1724 | if (m_repairing) |
| 1725 | Revert(); |
| 1726 | LimitWheels(); |
| 1727 | UpdateFuel(step); |
| 1728 | |
| 1729 | // if(fwp) |
| 1730 | { |
| 1731 | UpdatePower(); |
| 1732 | if (b_engine_on && !b_starting && m_current_rpm < m_min_rpm) |
| 1733 | Stall(); |
| 1734 | } |
| 1735 | |
| 1736 | if (bkp) |
| 1737 | { |
| 1738 | UpdateBack(); |
| 1739 | } |
| 1740 | |
| 1741 | if (brp) |
| 1742 | HandBreak(); |
| 1743 | ////////////////////////////////////////////////////////// |
| 1744 | for (int k = 0; k < (int)m_doors_update.size(); ++k) |
| 1745 | { |
| 1746 | SDoor* D = m_doors_update[k]; |
| 1747 | if (!D->update) |
| 1748 | { |
| 1749 | m_doors_update.erase(m_doors_update.begin() + k); |
| 1750 | --k; |
| 1751 | } |
| 1752 | else |
| 1753 | { |
| 1754 | D->Update(); |
| 1755 | } |
| 1756 | } |
| 1757 | |
| 1758 | m_steer_angle = m_steering_wheels.begin()->GetSteerAngle() * 0.1f + m_steer_angle * 0.9f; |
| 1759 | VERIFY(_valid(m_steer_angle)); |
| 1760 | } |
| 1761 | |
| 1762 | BOOL CCar::UsedAI_Locations() { return (FALSE); } |
| 1763 | |