Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2010-11-24 20:13:56 +0000
committerStijn Buys <ingar@osirion.org>2010-11-24 20:13:56 +0000
commit9623feb8667b9aa5a47343a13d5b9acb2312cbf8 (patch)
tree1c8062e3086d661a737008b73f9e83eb1324f8b4 /src/game/base/shipmodel.cc
parent808b21fc5fc33cf426fe459c7334d8101baafa0a (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.cc16
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;