@@ -219,6 +219,8 @@ void EasterEggScreen::buildTrackList()
219
219
220
220
const std::string curr_group_name = tabs->getSelectionIDString (0 );
221
221
222
+ PtrVector<Track, REF> tracks;
223
+
222
224
// Build track list
223
225
if (curr_group_name == ALL_TRACK_GROUPS_ID)
224
226
{
@@ -233,21 +235,8 @@ void EasterEggScreen::buildTrackList()
233
235
if (curr->isArena () || curr->isSoccer ()) continue ;
234
236
if (curr->isInternal ()) continue ;
235
237
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);
249
239
}
250
-
251
240
}
252
241
else
253
242
{
@@ -264,19 +253,34 @@ void EasterEggScreen::buildTrackList()
264
253
if (curr->isSoccer ()) continue ;
265
254
if (curr->isInternal ()) continue ;
266
255
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 ());
280
284
}
281
285
}
282
286
0 commit comments