Merge branch 'konstin-lapnumber'
This commit is contained in:
commit
2f71c5f99f
src
karts
race
states_screens/dialogs
tracks
@ -461,149 +461,149 @@ void KartProperties::getAllData(const XMLNode * root)
|
|||||||
} // if sounds-node exist
|
} // if sounds-node exist
|
||||||
|
|
||||||
if(const XMLNode *nitro_node = root->getNode("nitro"))
|
if(const XMLNode *nitro_node = root->getNode("nitro"))
|
||||||
|
{
|
||||||
|
nitro_node->get("consumption", &m_nitro_consumption );
|
||||||
|
nitro_node->get("small-container", &m_nitro_small_container );
|
||||||
|
nitro_node->get("big-container", &m_nitro_big_container );
|
||||||
|
nitro_node->get("max-speed-increase", &m_nitro_max_speed_increase);
|
||||||
|
nitro_node->get("engine-force", &m_nitro_engine_force );
|
||||||
|
nitro_node->get("duration", &m_nitro_duration );
|
||||||
|
nitro_node->get("fade-out-time", &m_nitro_fade_out_time );
|
||||||
|
nitro_node->get("max", &m_nitro_max );
|
||||||
|
nitro_node->get("min-consumption-time", &m_nitro_min_consumption );
|
||||||
|
}
|
||||||
|
|
||||||
|
if(const XMLNode *bubble_node = root->getNode("bubblegum"))
|
||||||
|
{
|
||||||
|
bubble_node->get("time", &m_bubblegum_time );
|
||||||
|
bubble_node->get("speed-fraction", &m_bubblegum_speed_fraction);
|
||||||
|
bubble_node->get("fade-in-time", &m_bubblegum_fade_in_time );
|
||||||
|
bubble_node->get("torque", &m_bubblegum_torque );
|
||||||
|
}
|
||||||
|
|
||||||
|
if(const XMLNode *rescue_node = root->getNode("rescue"))
|
||||||
|
{
|
||||||
|
rescue_node->get("vert-offset", &m_rescue_vert_offset);
|
||||||
|
rescue_node->get("time", &m_rescue_time );
|
||||||
|
rescue_node->get("height", &m_rescue_height );
|
||||||
|
}
|
||||||
|
|
||||||
|
if(const XMLNode *explosion_node = root->getNode("explosion"))
|
||||||
|
{
|
||||||
|
explosion_node->get("time", &m_explosion_time );
|
||||||
|
explosion_node->get("radius", &m_explosion_radius);
|
||||||
|
explosion_node->get("invulnerability-time",
|
||||||
|
&m_explosion_invulnerability_time);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(const XMLNode *skid_node = root->getNode("skid"))
|
||||||
|
{
|
||||||
|
m_skidding_properties->load(skid_node);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(const XMLNode *slipstream_node = root->getNode("slipstream"))
|
||||||
|
{
|
||||||
|
slipstream_node->get("length", &m_slipstream_length );
|
||||||
|
slipstream_node->get("width", &m_slipstream_width );
|
||||||
|
slipstream_node->get("collect-time", &m_slipstream_collect_time );
|
||||||
|
slipstream_node->get("use-time", &m_slipstream_use_time );
|
||||||
|
slipstream_node->get("add-power", &m_slipstream_add_power );
|
||||||
|
slipstream_node->get("min-speed", &m_slipstream_min_speed );
|
||||||
|
slipstream_node->get("max-speed-increase",
|
||||||
|
&m_slipstream_max_speed_increase);
|
||||||
|
slipstream_node->get("duration", &m_slipstream_duration );
|
||||||
|
slipstream_node->get("fade-out-time",&m_slipstream_fade_out_time );
|
||||||
|
}
|
||||||
|
|
||||||
|
if(const XMLNode *turn_node = root->getNode("turn"))
|
||||||
|
{
|
||||||
|
turn_node->get("time-full-steer", &m_time_full_steer );
|
||||||
|
turn_node->get("time-reset-steer", &m_time_reset_steer );
|
||||||
|
turn_node->get("turn-radius", &m_turn_angle_at_speed );
|
||||||
|
// For now store the turn radius in turn angle, the correct
|
||||||
|
// value can only be determined later in ::load
|
||||||
|
}
|
||||||
|
|
||||||
|
if(const XMLNode *engine_node = root->getNode("engine"))
|
||||||
|
{
|
||||||
|
engine_node->get("brake-factor", &m_brake_factor);
|
||||||
|
engine_node->get("max-speed-reverse-ratio", &m_max_speed_reverse_ratio);
|
||||||
|
engine_node->get("power", &m_engine_power);
|
||||||
|
if(m_engine_power.size()!=RaceManager::DIFFICULTY_COUNT)
|
||||||
{
|
{
|
||||||
nitro_node->get("consumption", &m_nitro_consumption );
|
Log::fatal("[KartProperties]",
|
||||||
nitro_node->get("small-container", &m_nitro_small_container );
|
"Incorrect engine-power specifications for kart '%s'",
|
||||||
nitro_node->get("big-container", &m_nitro_big_container );
|
getIdent().c_str());
|
||||||
nitro_node->get("max-speed-increase", &m_nitro_max_speed_increase);
|
|
||||||
nitro_node->get("engine-force", &m_nitro_engine_force );
|
|
||||||
nitro_node->get("duration", &m_nitro_duration );
|
|
||||||
nitro_node->get("fade-out-time", &m_nitro_fade_out_time );
|
|
||||||
nitro_node->get("max", &m_nitro_max );
|
|
||||||
nitro_node->get("min-consumption-time", &m_nitro_min_consumption );
|
|
||||||
}
|
}
|
||||||
|
engine_node->get("max-speed", &m_max_speed);
|
||||||
if(const XMLNode *bubble_node = root->getNode("bubblegum"))
|
if(m_max_speed.size()!=RaceManager::DIFFICULTY_COUNT)
|
||||||
{
|
{
|
||||||
bubble_node->get("time", &m_bubblegum_time );
|
Log::fatal("[KartProperties]",
|
||||||
bubble_node->get("speed-fraction", &m_bubblegum_speed_fraction);
|
"Incorrect max-speed specifications for kart '%s'",
|
||||||
bubble_node->get("fade-in-time", &m_bubblegum_fade_in_time );
|
getIdent().c_str());
|
||||||
bubble_node->get("torque", &m_bubblegum_torque );
|
|
||||||
}
|
}
|
||||||
|
} // if getNode("engine")
|
||||||
|
|
||||||
if(const XMLNode *rescue_node = root->getNode("rescue"))
|
if(const XMLNode *gear_node = root->getNode("gear"))
|
||||||
|
{
|
||||||
|
gear_node->get("switch-ratio", &m_gear_switch_ratio );
|
||||||
|
gear_node->get("power-increase", &m_gear_power_increase);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(const XMLNode *mass_node = root->getNode("mass"))
|
||||||
|
mass_node->get("value", &m_mass);
|
||||||
|
|
||||||
|
if(const XMLNode *plunger_node= root->getNode("plunger"))
|
||||||
|
{
|
||||||
|
plunger_node->get("band-max-length", &m_rubber_band_max_length );
|
||||||
|
plunger_node->get("band-force", &m_rubber_band_force );
|
||||||
|
plunger_node->get("band-duration", &m_rubber_band_duration );
|
||||||
|
plunger_node->get("band-speed-increase",&m_rubber_band_speed_increase);
|
||||||
|
plunger_node->get("band-fade-out-time", &m_rubber_band_fade_out_time );
|
||||||
|
plunger_node->get("in-face-time", &m_plunger_in_face_duration);
|
||||||
|
if(m_plunger_in_face_duration.size()!=RaceManager::DIFFICULTY_COUNT)
|
||||||
{
|
{
|
||||||
rescue_node->get("vert-offset", &m_rescue_vert_offset);
|
Log::fatal("KartProperties",
|
||||||
rescue_node->get("time", &m_rescue_time );
|
"Invalid plunger in-face-time specification.");
|
||||||
rescue_node->get("height", &m_rescue_height );
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(const XMLNode *explosion_node = root->getNode("explosion"))
|
if(const XMLNode *zipper_node= root->getNode("zipper"))
|
||||||
|
{
|
||||||
|
zipper_node->get("time", &m_zipper_time );
|
||||||
|
zipper_node->get("fade-out-time", &m_zipper_fade_out_time );
|
||||||
|
zipper_node->get("force", &m_zipper_force );
|
||||||
|
zipper_node->get("speed-gain", &m_zipper_speed_gain );
|
||||||
|
zipper_node->get("max-speed-increase", &m_zipper_max_speed_increase);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(const XMLNode *swatter_node= root->getNode("swatter"))
|
||||||
|
{
|
||||||
|
swatter_node->get("duration", &m_swatter_duration );
|
||||||
|
swatter_node->get("squash-duration", &m_squash_duration );
|
||||||
|
swatter_node->get("squash-slowdown", &m_squash_slowdown );
|
||||||
|
if(swatter_node->get("distance", &m_swatter_distance2) )
|
||||||
{
|
{
|
||||||
explosion_node->get("time", &m_explosion_time );
|
// Avoid squaring if distance is not defined, so that
|
||||||
explosion_node->get("radius", &m_explosion_radius);
|
// distance2 remains UNDEFINED (which is a negative value)
|
||||||
explosion_node->get("invulnerability-time",
|
m_swatter_distance2 *= m_swatter_distance2;
|
||||||
&m_explosion_invulnerability_time);
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(const XMLNode *skid_node = root->getNode("skid"))
|
if(const XMLNode *lean_node= root->getNode("lean"))
|
||||||
{
|
{
|
||||||
m_skidding_properties->load(skid_node);
|
lean_node->get("max", &m_max_lean );
|
||||||
}
|
lean_node->get("speed", &m_lean_speed);
|
||||||
|
m_max_lean *= DEGREE_TO_RAD;
|
||||||
|
m_lean_speed *= DEGREE_TO_RAD;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(const XMLNode *startup_node= root->getNode("startup"))
|
||||||
if(const XMLNode *slipstream_node = root->getNode("slipstream"))
|
{
|
||||||
{
|
startup_node->get("time", &m_startup_times);
|
||||||
slipstream_node->get("length", &m_slipstream_length );
|
startup_node->get("boost", &m_startup_boost);
|
||||||
slipstream_node->get("width", &m_slipstream_width );
|
}
|
||||||
slipstream_node->get("collect-time", &m_slipstream_collect_time );
|
|
||||||
slipstream_node->get("use-time", &m_slipstream_use_time );
|
|
||||||
slipstream_node->get("add-power", &m_slipstream_add_power );
|
|
||||||
slipstream_node->get("min-speed", &m_slipstream_min_speed );
|
|
||||||
slipstream_node->get("max-speed-increase",
|
|
||||||
&m_slipstream_max_speed_increase);
|
|
||||||
slipstream_node->get("duration", &m_slipstream_duration );
|
|
||||||
slipstream_node->get("fade-out-time",&m_slipstream_fade_out_time );
|
|
||||||
}
|
|
||||||
|
|
||||||
if(const XMLNode *turn_node = root->getNode("turn"))
|
|
||||||
{
|
|
||||||
turn_node->get("time-full-steer", &m_time_full_steer );
|
|
||||||
turn_node->get("time-reset-steer", &m_time_reset_steer );
|
|
||||||
turn_node->get("turn-radius", &m_turn_angle_at_speed );
|
|
||||||
// For now store the turn radius in turn angle, the correct
|
|
||||||
// value can only be determined later in ::load
|
|
||||||
}
|
|
||||||
|
|
||||||
if(const XMLNode *engine_node = root->getNode("engine"))
|
|
||||||
{
|
|
||||||
engine_node->get("brake-factor", &m_brake_factor);
|
|
||||||
engine_node->get("max-speed-reverse-ratio", &m_max_speed_reverse_ratio);
|
|
||||||
engine_node->get("power", &m_engine_power);
|
|
||||||
if(m_engine_power.size()!=RaceManager::DIFFICULTY_COUNT)
|
|
||||||
{
|
|
||||||
Log::fatal("[KartProperties]",
|
|
||||||
"Incorrect engine-power specifications for kart '%s'",
|
|
||||||
getIdent().c_str());
|
|
||||||
}
|
|
||||||
engine_node->get("max-speed", &m_max_speed);
|
|
||||||
if(m_max_speed.size()!=RaceManager::DIFFICULTY_COUNT)
|
|
||||||
{
|
|
||||||
Log::fatal("[KartProperties]",
|
|
||||||
"Incorrect max-speed specifications for kart '%s'",
|
|
||||||
getIdent().c_str());
|
|
||||||
}
|
|
||||||
} // if getNode("engine")
|
|
||||||
|
|
||||||
if(const XMLNode *gear_node = root->getNode("gear"))
|
|
||||||
{
|
|
||||||
gear_node->get("switch-ratio", &m_gear_switch_ratio );
|
|
||||||
gear_node->get("power-increase", &m_gear_power_increase);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(const XMLNode *mass_node = root->getNode("mass"))
|
|
||||||
mass_node->get("value", &m_mass);
|
|
||||||
|
|
||||||
if(const XMLNode *plunger_node= root->getNode("plunger"))
|
|
||||||
{
|
|
||||||
plunger_node->get("band-max-length", &m_rubber_band_max_length );
|
|
||||||
plunger_node->get("band-force", &m_rubber_band_force );
|
|
||||||
plunger_node->get("band-duration", &m_rubber_band_duration );
|
|
||||||
plunger_node->get("band-speed-increase",&m_rubber_band_speed_increase);
|
|
||||||
plunger_node->get("band-fade-out-time", &m_rubber_band_fade_out_time );
|
|
||||||
plunger_node->get("in-face-time", &m_plunger_in_face_duration);
|
|
||||||
if(m_plunger_in_face_duration.size()!=RaceManager::DIFFICULTY_COUNT)
|
|
||||||
{
|
|
||||||
Log::fatal("KartProperties",
|
|
||||||
"Invalid plunger in-face-time specification.");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(const XMLNode *zipper_node= root->getNode("zipper"))
|
|
||||||
{
|
|
||||||
zipper_node->get("time", &m_zipper_time );
|
|
||||||
zipper_node->get("fade-out-time", &m_zipper_fade_out_time );
|
|
||||||
zipper_node->get("force", &m_zipper_force );
|
|
||||||
zipper_node->get("speed-gain", &m_zipper_speed_gain );
|
|
||||||
zipper_node->get("max-speed-increase", &m_zipper_max_speed_increase);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(const XMLNode *swatter_node= root->getNode("swatter"))
|
|
||||||
{
|
|
||||||
swatter_node->get("duration", &m_swatter_duration );
|
|
||||||
swatter_node->get("squash-duration", &m_squash_duration );
|
|
||||||
swatter_node->get("squash-slowdown", &m_squash_slowdown );
|
|
||||||
if(swatter_node->get("distance", &m_swatter_distance2) )
|
|
||||||
{
|
|
||||||
// Avoid squaring if distance is not defined, so that
|
|
||||||
// distance2 remains UNDEFINED (which is a negative value)
|
|
||||||
m_swatter_distance2 *= m_swatter_distance2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(const XMLNode *lean_node= root->getNode("lean"))
|
|
||||||
{
|
|
||||||
lean_node->get("max", &m_max_lean );
|
|
||||||
lean_node->get("speed", &m_lean_speed);
|
|
||||||
m_max_lean *= DEGREE_TO_RAD;
|
|
||||||
m_lean_speed *= DEGREE_TO_RAD;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(const XMLNode *startup_node= root->getNode("startup"))
|
|
||||||
{
|
|
||||||
startup_node->get("time", &m_startup_times);
|
|
||||||
startup_node->get("boost", &m_startup_boost);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(m_kart_model)
|
if(m_kart_model)
|
||||||
m_kart_model->loadInfo(*root);
|
m_kart_model->loadInfo(*root);
|
||||||
|
@ -211,7 +211,7 @@ private:
|
|||||||
float m_nitro_small_container;
|
float m_nitro_small_container;
|
||||||
/** Nitro amount for big bittle. */
|
/** Nitro amount for big bittle. */
|
||||||
float m_nitro_big_container;
|
float m_nitro_big_container;
|
||||||
/* How much the speed of a kart might exceed its maximum speed (in m/s). */
|
/** How much the speed of a kart might exceed its maximum speed (in m/s). */
|
||||||
float m_nitro_max_speed_increase;
|
float m_nitro_max_speed_increase;
|
||||||
/** Additional engine force to affect the kart. */
|
/** Additional engine force to affect the kart. */
|
||||||
float m_nitro_engine_force;
|
float m_nitro_engine_force;
|
||||||
|
@ -111,14 +111,15 @@ void GrandPrixData::changeTrackNumber(const unsigned int number_of_tracks,
|
|||||||
rand() % available_tracks :
|
rand() % available_tracks :
|
||||||
track_indices[rand() % available_tracks];
|
track_indices[rand() % available_tracks];
|
||||||
|
|
||||||
std::string id = track_manager->getTrack(index)->getIdent();
|
const Track *track = track_manager->getTrack(index);
|
||||||
|
std::string id = track->getIdent();
|
||||||
// Avoid duplicate tracks
|
// Avoid duplicate tracks
|
||||||
if (std::find(m_tracks.begin(), m_tracks.end(), id) != m_tracks.end())
|
if (std::find(m_tracks.begin(), m_tracks.end(), id) != m_tracks.end())
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
m_tracks.push_back(id);
|
m_tracks.push_back(id);
|
||||||
m_laps.push_back(3); // TODO: Take the default number from the track
|
m_laps.push_back(track->getDefaultNumberOfLaps());
|
||||||
m_reversed.push_back(false); // This will be changed later
|
m_reversed.push_back(false); // This will be changed later in the code
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (m_tracks.size() > number_of_tracks)
|
else if (m_tracks.size() > number_of_tracks)
|
||||||
|
@ -33,7 +33,6 @@ using irr::gui::IGUIStaticText;
|
|||||||
typedef GUIEngine::SpinnerWidget Spinner;
|
typedef GUIEngine::SpinnerWidget Spinner;
|
||||||
|
|
||||||
RandomGPInfoDialog::RandomGPInfoDialog()
|
RandomGPInfoDialog::RandomGPInfoDialog()
|
||||||
|
|
||||||
{
|
{
|
||||||
// Defaults - loading selection from last time frrom a file would be better
|
// Defaults - loading selection from last time frrom a file would be better
|
||||||
m_number_of_tracks = 2; // We can assume that there are at least 2 standard tracks
|
m_number_of_tracks = 2; // We can assume that there are at least 2 standard tracks
|
||||||
@ -88,13 +87,9 @@ void RandomGPInfoDialog::addSpinners()
|
|||||||
const std::vector<std::string>& groups = track_manager->getAllTrackGroups();
|
const std::vector<std::string>& groups = track_manager->getAllTrackGroups();
|
||||||
for (unsigned int i = 0; i < groups.size(); i++)
|
for (unsigned int i = 0; i < groups.size(); i++)
|
||||||
{
|
{
|
||||||
// FIXME: The NULL check is necessary until #1348 on github is fixed
|
spinner->addLabel(stringw(groups[i].c_str()));
|
||||||
if (groups[i].c_str() != NULL)
|
if(groups[i] == "standard")
|
||||||
{
|
index_standard = i+1;
|
||||||
spinner->addLabel(stringw(groups[i].c_str()));
|
|
||||||
if(groups[i] == "standard")
|
|
||||||
index_standard = i+1;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
// The value can only be set here because SpinnerWidget resets the value
|
// The value can only be set here because SpinnerWidget resets the value
|
||||||
// every time a label is added
|
// every time a label is added
|
||||||
|
@ -88,9 +88,7 @@ TrackInfoDialog::TrackInfoDialog(const std::string& ribbonItem, const std::strin
|
|||||||
screenshotWidget->add();
|
screenshotWidget->add();
|
||||||
|
|
||||||
if (screenshot != NULL)
|
if (screenshot != NULL)
|
||||||
{
|
|
||||||
screenshotWidget->setImage(screenshot);
|
screenshotWidget->setImage(screenshot);
|
||||||
}
|
|
||||||
m_widgets.push_back(screenshotWidget);
|
m_widgets.push_back(screenshotWidget);
|
||||||
|
|
||||||
|
|
||||||
@ -98,21 +96,11 @@ TrackInfoDialog::TrackInfoDialog(const std::string& ribbonItem, const std::strin
|
|||||||
if (has_laps)
|
if (has_laps)
|
||||||
{
|
{
|
||||||
m_spinner = getWidget<SpinnerWidget>("lapcountspinner");
|
m_spinner = getWidget<SpinnerWidget>("lapcountspinner");
|
||||||
|
|
||||||
m_spinner->m_properties[PROP_ID] = "lapcountspinner";
|
|
||||||
if (UserConfigParams::m_artist_debug_mode)
|
if (UserConfigParams::m_artist_debug_mode)
|
||||||
{
|
|
||||||
m_spinner->setMin(0);
|
m_spinner->setMin(0);
|
||||||
}
|
|
||||||
|
|
||||||
//I18N: In the track setup screen (number of laps choice, where %i is the number)
|
m_spinner->setValue(track->getDefaultNumberOfLaps());
|
||||||
//m_spinner->setText( _("%i laps") );
|
race_manager->setNumLaps(m_spinner->getValue());
|
||||||
m_spinner->setValue( UserConfigParams::m_num_laps );
|
|
||||||
//m_spinner->getIrrlichtElement()->setTabStop(true);
|
|
||||||
//m_spinner->getIrrlichtElement()->setTabGroup(false);
|
|
||||||
|
|
||||||
const int num_laps = m_spinner->getValue();
|
|
||||||
race_manager->setNumLaps(num_laps);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -149,7 +137,6 @@ TrackInfoDialog::TrackInfoDialog(const std::string& ribbonItem, const std::strin
|
|||||||
m_highscore_entries[2] = getWidget<LabelWidget>("highscore3");
|
m_highscore_entries[2] = getWidget<LabelWidget>("highscore3");
|
||||||
|
|
||||||
updateHighScores();
|
updateHighScores();
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -135,6 +135,7 @@ Track::Track(const std::string &filename)
|
|||||||
m_ident=="overworld";
|
m_ident=="overworld";
|
||||||
m_minimap_x_scale = 1.0f;
|
m_minimap_x_scale = 1.0f;
|
||||||
m_minimap_y_scale = 1.0f;
|
m_minimap_y_scale = 1.0f;
|
||||||
|
m_default_number_of_laps= 3;
|
||||||
m_all_nodes.clear();
|
m_all_nodes.clear();
|
||||||
m_all_physics_only_nodes.clear();
|
m_all_physics_only_nodes.clear();
|
||||||
m_all_cached_meshes.clear();
|
m_all_cached_meshes.clear();
|
||||||
@ -471,6 +472,7 @@ void Track::loadTrackInfo()
|
|||||||
root->get("groups", &m_groups);
|
root->get("groups", &m_groups);
|
||||||
root->get("internal", &m_internal);
|
root->get("internal", &m_internal);
|
||||||
root->get("reverse", &m_reverse_available);
|
root->get("reverse", &m_reverse_available);
|
||||||
|
root->get("default-number-of-laps",&m_default_number_of_laps);
|
||||||
root->get("push-back", &m_enable_push_back);
|
root->get("push-back", &m_enable_push_back);
|
||||||
root->get("clouds", &m_clouds);
|
root->get("clouds", &m_clouds);
|
||||||
root->get("bloom", &m_bloom);
|
root->get("bloom", &m_bloom);
|
||||||
|
@ -398,6 +398,9 @@ private:
|
|||||||
/** List of all bezier curves in the track - for e.g. camera, ... */
|
/** List of all bezier curves in the track - for e.g. camera, ... */
|
||||||
std::vector<BezierCurve*> m_all_curves;
|
std::vector<BezierCurve*> m_all_curves;
|
||||||
|
|
||||||
|
/** The number of laps the track will be raced if no other value is given.*/
|
||||||
|
int m_default_number_of_laps;
|
||||||
|
|
||||||
void loadTrackInfo();
|
void loadTrackInfo();
|
||||||
void loadQuadGraph(unsigned int mode_id, const bool reverse);
|
void loadQuadGraph(unsigned int mode_id, const bool reverse);
|
||||||
void convertTrackToBullet(scene::ISceneNode *node);
|
void convertTrackToBullet(scene::ISceneNode *node);
|
||||||
@ -612,6 +615,7 @@ public:
|
|||||||
|
|
||||||
float getDisplacementSpeed() const { return m_displacement_speed; }
|
float getDisplacementSpeed() const { return m_displacement_speed; }
|
||||||
float getCausticsSpeed() const { return m_caustics_speed; }
|
float getCausticsSpeed() const { return m_caustics_speed; }
|
||||||
|
const int getDefaultNumberOfLaps() const { return m_default_number_of_laps;}
|
||||||
bool operator<(const Track &other) const;
|
bool operator<(const Track &other) const;
|
||||||
}; // class Track
|
}; // class Track
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user