+ // if one of the Addons listed was chosen, take appropriate action
+ if ((index >= ADDON_LIST_START_ID) && (index < ADDON_LIST_START_ID) + addons.size()) {
+ Addon& addon = *addons[index - ADDON_LIST_START_ID];
+ if (!addon.installed) {
+ try {
+ AddonManager::get_instance().install(&addon);
+ }
+ catch (std::runtime_error e) {
+ log_warning << "Installing Add-on failed: " << e.what() << std::endl;
+ }
+ addons_menu->set_toggled(index, addon.loaded);
+ } else if (!addon.loaded) {
+ try {
+ AddonManager::get_instance().enable(&addon);
+ }
+ catch (std::runtime_error e) {
+ log_warning << "Enabling Add-on failed: " << e.what() << std::endl;
+ }
+ addons_menu->set_toggled(index, addon.loaded);
+ } else {
+ try {
+ AddonManager::get_instance().disable(&addon);
+ }
+ catch (std::runtime_error e) {
+ log_warning << "Disabling Add-on failed: " << e.what() << std::endl;
+ }
+ addons_menu->set_toggled(index, addon.loaded);
+ }
+ }
+}
+
+void
+TitleScreen::free_addons_menu()
+{
+}
+
+void
+TitleScreen::make_tux_jump()
+{
+ static bool jumpWasReleased = true;