Merge branch 'properties' of https://github.com/solistice/stk-code into properties

This commit is contained in:
hiker 2014-07-04 08:34:48 +10:00
commit 736c7264b9
5 changed files with 30 additions and 9 deletions

View File

@ -95,14 +95,14 @@ KartStatsWidget::KartStatsWidget(core::recti area, const int player_id,
m_skills[SKILL_MASS]->setLabel("WEIGHT"); m_skills[SKILL_MASS]->setLabel("WEIGHT");
m_skills[SKILL_MASS]->m_properties[PROP_ID] = StringUtils::insertValues("@p%i_mass", m_player_id); m_skills[SKILL_MASS]->m_properties[PROP_ID] = StringUtils::insertValues("@p%i_mass", m_player_id);
m_skills[SKILL_ACCEL]->setValue((int)((props->getMaxSpeed()-20)*20)); m_skills[SKILL_SPEED]->setValue((int)((props->getAbsMaxSpeed()-20)*20));
m_skills[SKILL_ACCEL]->setLabel("ACCEL"); m_skills[SKILL_SPEED]->setLabel("SPEED");
m_skills[SKILL_ACCEL]->m_properties[PROP_ID] = StringUtils::insertValues("@p%i_accel", m_player_id);
m_skills[SKILL_SPEED]->setValue((int)(props->getMaxPower()/10));
m_skills[SKILL_SPEED]->setLabel("POWER");
m_skills[SKILL_SPEED]->m_properties[PROP_ID] = StringUtils::insertValues("@p%i_speed", m_player_id); m_skills[SKILL_SPEED]->m_properties[PROP_ID] = StringUtils::insertValues("@p%i_speed", m_player_id);
m_skills[SKILL_POWER]->setValue((int)(props->getAvgPower()));
m_skills[SKILL_POWER]->setLabel("POWER");
m_skills[SKILL_POWER]->m_properties[PROP_ID] = StringUtils::insertValues("@p%i_power", m_player_id);
} // KartStatsWidget } // KartStatsWidget
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------

View File

@ -63,7 +63,7 @@ class KartStatsWidget : public Widget
{ {
SKILL_MASS, SKILL_MASS,
SKILL_SPEED, SKILL_SPEED,
SKILL_ACCEL, SKILL_POWER,
SKILL_COUNT SKILL_COUNT
}; };

View File

@ -780,4 +780,15 @@ float KartProperties::getStartupBoost() const
} }
return 0; return 0;
} // getStartupBoost } // getStartupBoost
const float KartProperties::getAvgPower() const
{
float avg = 0.0;
for (int i = 0; i < m_gear_power_increase.size(); ++i)
{
avg += (m_gear_power_increase[i]*m_max_speed[0])/m_gear_power_increase.size();
}
return avg;
} // getAvgPower
/* EOF */ /* EOF */

View File

@ -574,6 +574,12 @@ public:
float getMaxSpeed () const {return float getMaxSpeed () const {return
m_max_speed[race_manager->getDifficulty()];} m_max_speed[race_manager->getDifficulty()];}
// ------------------------------------------------------------------------
/** Return the absolute maximum speed, independent on the difficulty. */
float getAbsMaxSpeed () const {return
m_max_speed[m_max_speed.size()-1];
}
// ------------------------------------------------------------------------ // ------------------------------------------------------------------------
/** Returns the nitro consumption. */ /** Returns the nitro consumption. */
float getNitroConsumption () const {return m_nitro_consumption; } float getNitroConsumption () const {return m_nitro_consumption; }
@ -829,6 +835,10 @@ public:
const std::vector<float>& const std::vector<float>&
getGearPowerIncrease () const {return m_gear_power_increase; } getGearPowerIncrease () const {return m_gear_power_increase; }
// ------------------------------------------------------------------------
/** Returns the average power of the kart (in all gears). */
const float getAvgPower () const;
// ------------------------------------------------------------------------ // ------------------------------------------------------------------------
/** Returns distance between kart and camera. */ /** Returns distance between kart and camera. */
float getCameraDistance () const {return m_camera_distance; } float getCameraDistance () const {return m_camera_distance; }

View File

@ -1527,8 +1527,8 @@ void KartSelectionScreen::updateKartStats(uint8_t widget_id,
if (kp != NULL) if (kp != NULL)
{ {
w->setValue(KartStatsWidget::SKILL_MASS, (int)(kp->getMass()/5)); w->setValue(KartStatsWidget::SKILL_MASS, (int)(kp->getMass()/5));
w->setValue(KartStatsWidget::SKILL_SPEED, (int)(kp->getMaxPower()/10)); w->setValue(KartStatsWidget::SKILL_SPEED, (int)((kp->getAbsMaxSpeed()-20)*9));
w->setValue(KartStatsWidget::SKILL_ACCEL, (int)((kp->getMaxSpeed()-20)*20)); w->setValue(KartStatsWidget::SKILL_POWER, (int)(kp->getAvgPower()));
w->update(0); w->update(0);
} }
} }