Example #1
0
static bool lakka_init_lists(void *data)
{
   int i;
   menu_handle_t *menu = (menu_handle_t*)data;
   lakka_handle_t *lakka = NULL;

   if (!menu)
      return false;

   lakka = (lakka_handle_t*)menu->userdata;

   if (!lakka)
      return false;

   if (!lakka_init_settings(menu))
      return false;

   for (i = 1; i < lakka->num_categories; i++)
   {
      core_info_t *info = NULL;
      menu_category_t *category = (menu_category_t*)&lakka->categories[i];
      core_info_list_t *info_list = (core_info_list_t*)g_extern.core_info;

      if (info_list)
         info = (core_info_t*)&info_list->list[i-1];

      if (!info)
         return false;

      strlcpy(category->name, info->display_name, sizeof(category->name));
      strlcpy(category->libretro, info->path, sizeof(category->libretro));
      category->alpha       = lakka->i_passive_alpha;
      category->zoom        = lakka->c_passive_zoom;
      category->active_item = 0;
      category->num_items   = 0;
      category->items       = (menu_item_t*)
         calloc(category->num_items + 1, sizeof(menu_item_t));

      if (! info->supports_no_game)
         lakka_init_items(lakka, i, category, info, g_settings.content_directory);
      else
         lakka_init_item(lakka, i, 0, category, info, NULL, 
               info->display_name);
   }

   return true;
}
Example #2
0
static void *lakka_init(void)
{
   int i, j;
   rgui_handle_t *rgui = (rgui_handle_t*)calloc(1, sizeof(*rgui));
   gl_t *gl = (gl_t*)driver.video_data;
   if (!rgui || !gl)
      return NULL;

   init_font(gl, g_settings.video.font_path, g_settings.video.font_size, gl->win_width, gl->win_height);

   lakka_init_core_info(rgui);
   categories = (menu_category_t*)calloc(num_categories, sizeof(menu_category_t));

   lakka_init_settings();

   for (i = 1; i < num_categories; i++)
   {
      core_info_t *info;
      core_info_list_t *info_list;
      menu_category_t *category = (menu_category_t*)&categories[i];

      info_list = (core_info_list_t*)rgui->core_info;
      info = NULL;

      if (info_list)
         info = (core_info_t*)&info_list->list[i-1];

      strlcpy(category->name, info->display_name, sizeof(category->name));
      strlcpy(category->libretro, info->path, sizeof(category->libretro));
      category->alpha       = 0.5;
      category->zoom        = C_PASSIVE_ZOOM;
      category->active_item = 0;
      category->num_items   = 0;
      category->items       = (menu_item_t*)calloc(category->num_items, sizeof(menu_item_t));

      lakka_init_items(i, category, info, g_settings.content_directory);
   }

   return rgui;
}
Example #3
0
static void *lakka_init(void)
{
   int i, j;
   menu_handle_t *menu = (menu_handle_t*)calloc(1, sizeof(*menu));
   gl_t *gl = (gl_t*)driver.video_data;
   if (!menu || !gl)
      return NULL;

   lakka_responsive();

   lakka_init_core_info(menu);
   categories = (menu_category_t*)calloc(num_categories, sizeof(menu_category_t));

   lakka_init_settings();

   for (i = 1; i < num_categories; i++)
   {
      core_info_t *info;
      core_info_list_t *info_list;
      menu_category_t *category = (menu_category_t*)&categories[i];

      info_list = (core_info_list_t*)menu->core_info;
      info = NULL;

      if (info_list)
         info = (core_info_t*)&info_list->list[i-1];

      strlcpy(category->name, info->display_name, sizeof(category->name));
      strlcpy(category->libretro, info->path, sizeof(category->libretro));
      category->alpha       = 0.5;
      category->zoom        = c_passive_zoom;
      category->active_item = 0;
      category->num_items   = 0;
      category->items       = (menu_item_t*)calloc(category->num_items, sizeof(menu_item_t));

      lakka_init_items(i, category, info, g_settings.content_directory);
   }

   return menu;
}