Remember latest kart and track group
git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@8724 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
@@ -312,6 +312,8 @@ namespace UserConfigParams
|
||||
PARAM_DEFAULT( IntUserConfigParam(0, "game_mode", &m_race_setup_group, "Game mode. 0=standard, 1=time trial, 2=follow the leader, 3=3 strikes") );
|
||||
PARAM_PREFIX StringUserConfigParam m_default_kart
|
||||
PARAM_DEFAULT( StringUserConfigParam("tux", "kart", "Kart to select by default (the last used kart)") );
|
||||
PARAM_PREFIX StringUserConfigParam m_last_used_kart_group
|
||||
PARAM_DEFAULT( StringUserConfigParam("standard", "last_kart_group", "Last selected kart group") );
|
||||
|
||||
// ---- Video
|
||||
PARAM_PREFIX GroupUserConfigParam m_video_group
|
||||
@@ -444,12 +446,10 @@ namespace UserConfigParams
|
||||
PARAM_PREFIX StringUserConfigParam m_item_style
|
||||
PARAM_DEFAULT( StringUserConfigParam("items", "item_style", "Name of the .items file to use.") );
|
||||
|
||||
PARAM_PREFIX StringUserConfigParam m_kart_group
|
||||
PARAM_DEFAULT( StringUserConfigParam(DEFAULT_GROUP_NAME, "kart_group", "Last selected kart group") );
|
||||
PARAM_PREFIX StringUserConfigParam m_track_group
|
||||
PARAM_DEFAULT( StringUserConfigParam(DEFAULT_GROUP_NAME, "track_group", "Last selected track group") );
|
||||
PARAM_PREFIX StringUserConfigParam m_last_track
|
||||
PARAM_DEFAULT( StringUserConfigParam("olivermath", "last_track", "Name of the last track used.") );
|
||||
PARAM_PREFIX StringUserConfigParam m_last_used_track_group
|
||||
PARAM_DEFAULT( StringUserConfigParam("standard", "last_track_group", "Last selected track group") );
|
||||
|
||||
PARAM_PREFIX StringUserConfigParam m_skin_file
|
||||
PARAM_DEFAULT( StringUserConfigParam("Peach.stkskin", "skin_file", "Name of the skin to use") );
|
||||
|
||||
@@ -356,7 +356,7 @@ std::vector<std::string> KartPropertiesManager::getRandomKartList(int count,
|
||||
if (count > 0 && randomKartQueue.size() == 0)
|
||||
{
|
||||
randomKartQueue.clear();
|
||||
std::vector<int> kartsInGroup = getKartsInGroup(UserConfigParams::m_kart_group);
|
||||
std::vector<int> kartsInGroup = getKartsInGroup(UserConfigParams::m_last_used_kart_group);
|
||||
|
||||
assert(kartsInGroup.size() > 0);
|
||||
|
||||
|
||||
@@ -931,6 +931,7 @@ void KartSelectionScreen::init()
|
||||
|
||||
RibbonWidget* tabs = getWidget<RibbonWidget>("kartgroups");
|
||||
assert( tabs != NULL );
|
||||
tabs->select(UserConfigParams::m_last_used_kart_group, PLAYER_ID_GAME_MASTER);
|
||||
|
||||
Widget* placeholder = getWidget("playerskarts");
|
||||
assert(placeholder != NULL);
|
||||
@@ -1392,6 +1393,8 @@ void KartSelectionScreen::eventCallback(Widget* widget, const std::string& name,
|
||||
|
||||
const std::string selected_kart_group = tabs->getSelectionIDString(PLAYER_ID_GAME_MASTER);
|
||||
|
||||
UserConfigParams::m_last_used_kart_group = selected_kart_group;
|
||||
|
||||
RandomGenerator random;
|
||||
|
||||
const int num_players = m_kart_widgets.size();
|
||||
@@ -1476,7 +1479,7 @@ void KartSelectionScreen::allPlayersDone()
|
||||
|
||||
std::string selected_kart_group = tabs->getSelectionIDString(PLAYER_ID_GAME_MASTER);
|
||||
|
||||
UserConfigParams::m_kart_group = selected_kart_group;
|
||||
UserConfigParams::m_last_used_kart_group = selected_kart_group;
|
||||
|
||||
DynamicRibbonWidget* w = getWidget<DynamicRibbonWidget>("karts");
|
||||
assert( w != NULL );
|
||||
@@ -1741,8 +1744,8 @@ void KartSelectionScreen::setKartsFromCurrentGroup()
|
||||
std::string selected_kart_group =
|
||||
tabs->getSelectionIDString(PLAYER_ID_GAME_MASTER);
|
||||
|
||||
UserConfigParams::m_kart_group = selected_kart_group;
|
||||
|
||||
UserConfigParams::m_last_used_kart_group = selected_kart_group;
|
||||
|
||||
// This can happen if addons are removed so that also the previously
|
||||
// selected kart group is removed. In this case, select the
|
||||
// 'standard' group
|
||||
|
||||
@@ -154,11 +154,13 @@ void TracksScreen::eventCallback(Widget* widget, const std::string& name, const
|
||||
}
|
||||
else if (name == "trackgroups")
|
||||
{
|
||||
RibbonWidget* tabs = this->getWidget<RibbonWidget>("trackgroups");
|
||||
assert( tabs != NULL );
|
||||
UserConfigParams::m_last_used_track_group = tabs->getSelectionIDString(0);
|
||||
buildTrackList();
|
||||
}
|
||||
else if (name == "back")
|
||||
{
|
||||
printf("back in tracks_screen\n");
|
||||
StateManager::get()->escapePressed();
|
||||
}
|
||||
}
|
||||
@@ -271,6 +273,12 @@ void TracksScreen::init()
|
||||
}
|
||||
gps_widget->updateItemDisplay();
|
||||
|
||||
|
||||
RibbonWidget* tabs = this->getWidget<RibbonWidget>("trackgroups");
|
||||
assert( tabs != NULL );
|
||||
tabs->select(UserConfigParams::m_last_used_track_group, PLAYER_ID_GAME_MASTER);
|
||||
|
||||
|
||||
buildTrackList();
|
||||
|
||||
// select something for the game master
|
||||
|
||||
Reference in New Issue
Block a user