int init_subsystems(void) { init_hud(); init_flares(); init_starfield(); init_fire(); init_particles(); init_chunks(); init_video_new_game(); reset_update(); reset_plugins(); init_asteroids(); return (0); }
url_list_t *search_next_url(UriUriA **uri) #endif { url_list_t *elem; int update_pointer = 1; for (elem = download_ptr; elem; elem = elem->next) { if (!elem->assigned && elem->err_code == ERR_CODE_NOT_ASSIGNED) { if (elem->uri) { if (is_uri_compatible(elem->uri, -1)) { elem->assigned = 1; *uri = elem->uri; #ifdef ENABLE_METALINK *resource = NULL; *chunk = NULL; *header = 0; #endif if (update_pointer) download_ptr = elem->next; return elem; } else update_pointer = 0; } #ifdef ENABLE_METALINK else if (elem->metalink_uri) { if (is_valid_metalink(elem->metalink_uri->file)) { if (!elem->metalink_uri->chunk && elem->metalink_uri->size >= 0) { char *newfilename = NULL; if (create_chunks(elem->metalink_uri) != MULK_RET_OK) { elem->err_code = METALINK_RES_INVALID_METALINK; continue; } #ifdef ENABLE_CHECKSUM /* load a resume file if present */ if (init_chunks(elem->metalink_uri, &newfilename) == MULK_RET_OK) { elem->filename = newfilename; elem->err_code = METALINK_RES_OK; continue; } #endif /* ENABLE_CHECKSUM */ string_free(newfilename); } *uri = find_next_url(elem->metalink_uri, chunk, resource, header); if ((*chunk || *header) && *uri) { if (update_pointer) download_ptr = elem; return elem; } update_pointer = 0; } else elem->err_code = METALINK_RES_INVALID_METALINK; } #endif /* ENABLE_METALINK */ else elem->err_code = ERR_CODE_EMPTY_URL; } } if (update_pointer) download_ptr = NULL; *uri = NULL; #ifdef ENABLE_METALINK *chunk = NULL; *resource = NULL; *header = 0; #endif return NULL; }