diff options
author | Stijn Buys <ingar@osirion.org> | 2010-11-24 20:13:56 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2010-11-24 20:13:56 +0000 |
commit | 9623feb8667b9aa5a47343a13d5b9acb2312cbf8 (patch) | |
tree | 1c8062e3086d661a737008b73f9e83eb1324f8b4 /src/game/base/shipmodel.cc | |
parent | 808b21fc5fc33cf426fe459c7334d8101baafa0a (diff) |
Exposed ship physics damping factors through ships.ini and the specs command.
Diffstat (limited to 'src/game/base/shipmodel.cc')
-rw-r--r-- | src/game/base/shipmodel.cc | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/game/base/shipmodel.cc b/src/game/base/shipmodel.cc index 4d5db69..126557c 100644 --- a/src/game/base/shipmodel.cc +++ b/src/game/base/shipmodel.cc @@ -116,6 +116,20 @@ bool ShipModel::init() } else if (inifile.got_key_float("radius", f)) { shipmodel->set_radius(f); continue; + } else if (inifile.got_key_string("damping", str)) { + float linear, angular; + std::istringstream sstr("str"); + if (sstr >> linear) { + if (sstr >> angular) { + shipmodel->set_linear_damping(linear); + shipmodel->set_angular_damping(angular); + } else { + shipmodel->set_linear_damping(linear); + shipmodel->set_angular_damping(linear); + } + } else { + inifile.unknown_value(); + } } else if (inifile.got_key_label("template", str)) { Template *entitytemplate = Template::find(str); if (!entitytemplate) { @@ -184,6 +198,8 @@ ShipModel::ShipModel() : core::Info(shipmodel_infotype) //default specifications shipmodel_radius = 0.0f; shipmodel_mass = 0.0f; + shipmodel_linear_damping = 0.8f; + shipmodel_angular_damping = 0.8f; shipmodel_thrust_force = 0.8f; shipmodel_impulse_force = 4.0f; |