Exemple #1
0
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);
}
Exemple #2
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;
}