Skip to content

Commit 02e60fc

Browse files
Fix typo & Add easter egg badge
1 parent 7f78b5b commit 02e60fc

File tree

3 files changed

+47
-29
lines changed

3 files changed

+47
-29
lines changed

src/config/player_profile.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ void PlayerProfile::loadRemainingData(const XMLNode *node)
130130

131131
// We first load the list of all favorite tracks
132132
// Some favorites may correspond to uninstalled addons, so we do not sanitize the strings
133-
assert(m_favorite_track_statuss == NULL);
133+
assert(m_favorite_track_status == NULL);
134134
const XMLNode *xml_favorites = node->getNode("favorites");
135135
m_favorite_track_status = new FavoriteTrackStatus(xml_favorites);
136136

src/states_screens/easter_egg_screen.cpp

+31-27
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,8 @@ void EasterEggScreen::buildTrackList()
219219

220220
const std::string curr_group_name = tabs->getSelectionIDString(0);
221221

222+
PtrVector<Track, REF> tracks;
223+
222224
// Build track list
223225
if (curr_group_name == ALL_TRACK_GROUPS_ID)
224226
{
@@ -233,21 +235,8 @@ void EasterEggScreen::buildTrackList()
233235
if (curr->isArena() || curr->isSoccer()) continue;
234236
if (curr->isInternal()) continue;
235237

236-
if (PlayerManager::getCurrentPlayer()->isLocked(curr->getIdent()))
237-
{
238-
tracks_widget->addItem( _("Locked : solve active challenges to gain access to more!"),
239-
"locked", curr->getScreenshotFile(), LOCKED_BADGE,
240-
IconButtonWidget::ICON_PATH_TYPE_ABSOLUTE);
241-
}
242-
else
243-
{
244-
tracks_widget->addItem(curr->getName(), curr->getIdent(),
245-
curr->getScreenshotFile(), 0,
246-
IconButtonWidget::ICON_PATH_TYPE_ABSOLUTE );
247-
m_random_track_list.push_back(curr->getIdent());
248-
}
238+
tracks.push_back(curr);
249239
}
250-
251240
}
252241
else
253242
{
@@ -264,19 +253,34 @@ void EasterEggScreen::buildTrackList()
264253
if (curr->isSoccer()) continue;
265254
if (curr->isInternal()) continue;
266255

267-
if (PlayerManager::getCurrentPlayer()->isLocked(curr->getIdent()))
268-
{
269-
tracks_widget->addItem( _("Locked : solve active challenges to gain access to more!"),
270-
"locked", curr->getScreenshotFile(), LOCKED_BADGE,
271-
IconButtonWidget::ICON_PATH_TYPE_ABSOLUTE);
272-
}
273-
else
274-
{
275-
tracks_widget->addItem(curr->getName(), curr->getIdent(),
276-
curr->getScreenshotFile(), 0 /* no badge */,
277-
IconButtonWidget::ICON_PATH_TYPE_ABSOLUTE );
278-
m_random_track_list.push_back(curr->getIdent());
279-
}
256+
tracks.push_back(curr);
257+
}
258+
}
259+
tracks.insertionSort();
260+
261+
for (int n=0; n<tracks.size(); n++)
262+
{
263+
Track* curr = tracks.get(n);
264+
265+
if (PlayerManager::getCurrentPlayer()->isLocked(curr->getIdent()))
266+
{
267+
tracks_widget->addItem( _("Locked : solve active challenges to gain access to more!"),
268+
"locked", curr->getScreenshotFile(), LOCKED_BADGE,
269+
IconButtonWidget::ICON_PATH_TYPE_ABSOLUTE);
270+
}
271+
else if (PlayerManager::getCurrentPlayer()->isFavoriteTrack(curr->getIdent()))
272+
{
273+
tracks_widget->addItem(curr->getName(), curr->getIdent(),
274+
curr->getScreenshotFile(), HEART_BADGE,
275+
IconButtonWidget::ICON_PATH_TYPE_ABSOLUTE );
276+
m_random_track_list.push_back(curr->getIdent());
277+
}
278+
else
279+
{
280+
tracks_widget->addItem(curr->getName(), curr->getIdent(),
281+
curr->getScreenshotFile(), 0,
282+
IconButtonWidget::ICON_PATH_TYPE_ABSOLUTE );
283+
m_random_track_list.push_back(curr->getIdent());
280284
}
281285
}
282286

src/states_screens/online/tracks_screen.cpp

+15-1
Original file line numberDiff line numberDiff line change
@@ -624,7 +624,14 @@ void TracksScreen::buildTrackList()
624624
}
625625
else
626626
{
627-
const std::vector<int>& curr_tracks = track_manager->getTracksInGroup(curr_group_name);
627+
// Get all tracks in this group and concatrate into one vector
628+
std::vector<int> curr_tracks = track_manager->getTracksInGroup(curr_group_name);
629+
const std::vector<int>& curr_arenas = track_manager->getArenasInGroup(curr_group_name, false);
630+
const std::vector<int>& curr_soccers = track_manager->getArenasInGroup(curr_group_name, true);
631+
632+
curr_tracks.insert(curr_tracks.end(), curr_arenas.begin(), curr_arenas.end());
633+
curr_tracks.insert(curr_tracks.end(), curr_soccers.begin(), curr_soccers.end());
634+
628635
const int track_amount = (int)curr_tracks.size();
629636

630637
for (int n = 0; n < track_amount; n++)
@@ -667,6 +674,13 @@ void TracksScreen::buildTrackList()
667674
"locked", curr->getScreenshotFile(), LOCKED_BADGE,
668675
IconButtonWidget::ICON_PATH_TYPE_ABSOLUTE);
669676
}
677+
else if (PlayerManager::getCurrentPlayer()->isFavoriteTrack(curr->getIdent()))
678+
{
679+
tracks_widget->addItem(curr->getName(), curr->getIdent(),
680+
curr->getScreenshotFile(), HEART_BADGE,
681+
IconButtonWidget::ICON_PATH_TYPE_ABSOLUTE );
682+
m_random_track_list.push_back(curr->getIdent());
683+
}
670684
else
671685
{
672686
tracks_widget->addItem(curr->getName(),

0 commit comments

Comments
 (0)