/** * @brief Creates the current mission list for the mission menu. * @param first 1 if it's the first time run. */ static void mission_menu_genList( unsigned int wid, int first ) { int i,j; char** misn_names; if (!first) window_destroyWidget( wid, "lstMission" ); /* list */ misn_names = malloc(sizeof(char*) * MISSION_MAX); j = 0; for (i=0; i<MISSION_MAX; i++) if (player_missions[i].id != 0) misn_names[j++] = strdup(player_missions[i].title); if (j==0) { /* no missions */ free(misn_names); misn_names = malloc(sizeof(char*)); misn_names[0] = strdup("No Missions"); j = 1; } window_addList( wid, 20, -40, 300, MISSIONS_HEIGHT-340, "lstMission", misn_names, j, 0, mission_menu_update ); mission_menu_update(wid ,NULL); }
/** * @brief Creates the current mission list for the mission menu. * @param first 1 if it's the first time run. */ static void mission_menu_genList( unsigned int wid, int first ) { int i,j; char** misn_names; int w, h; if (!first) window_destroyWidget( wid, "lstMission" ); /* Get the dimensions. */ window_dimWindow( wid, &w, &h ); /* list */ misn_names = malloc(sizeof(char*) * MISSION_MAX); j = 0; for (i=0; i<MISSION_MAX; i++) if (player_missions[i].id != 0) misn_names[j++] = (player_missions[i].title!=NULL) ? strdup(player_missions[i].title) : NULL; if (j==0) { /* no missions */ misn_names[0] = strdup("No Missions"); j = 1; } window_addList( wid, 20, -40, 300, h-340, "lstMission", misn_names, j, 0, mission_menu_update ); mission_menu_update(wid ,NULL); }