-
Notifications
You must be signed in to change notification settings - Fork 51
rc_client_begin_identify_and_load_game
Starts loading an unidentified game.
rc_client_async_handle_t* rc_client_begin_identify_and_load_game(
rc_client_t* client,
uint32_t console_id,
const char* file_path,
const uint8_t* data,
size_t data_size,
rc_client_callback_t callback,
void* callback_userdata
);client
The rc_client_t to manage the game.
console_id
The unique identifier of the console associated to the game. Used to determine how to generate the game's hash. May be RC_CONSOLE_UNKNOWN to attempt to determine the console automatically.
file_path
Path to the file containing the game data.
If console_id is RC_CONSOLE_UNKNOWN, the file extension will be used to help determine how to generate the game's hash, even if data is provided.
For files extracted from a zip file into memory, it is recommended to append the extracted file to generate a virtual path (i.e. C:\games.zip#game.nes) so the correct extension will be found. When this occurs, data must be provided. The zip file itself will not be processed.
data
Pointer to pre-loaded data (file already loaded in memory - either directly or extracted from an archive). If NULL, the data will be read from file_path.
data_size
The number of bytes pointed to by data.
callback
Function to call when the game load process completes.
callback_userdata
Additional information to pass to the callback function.
Pointer to an rc_client_async_handle_t that can be passed to rc_client_abort_async to cancel the load game request. The rc_client_async_handle_t is invalid after callback has been called.
void (*rc_client_callback_t)(
int result,
const char* error_message,
rc_client_t* client
);result
RC_OK on success, or an error code indicating the failure.
| result | problem |
|---|---|
| RC_OK | Game was successfully loaded. |
| RC_NO_GAME_LOADED | The game could not be identified. |
| RC_LOGIN_REQUIRED | A logged in user is required. |
| RC_ABORTED | The process was canceled before it finished (rc_client_unload_game was called, or another game started loading). |
| RC_INVALID_STATE | Generic failure. See error_message for details. |
| RC_INVALID_JSON | Server response could not be processed. |
| RC_MISSING_VALUE | Server response was not complete. |
| RC_API_FAILURE | Error occurred on the server. See error_message for details. |
error_message
NULL on success, or a message related to a non-successful result.
client
The rc_client_t that was handling the load game attempt.
If successful, rc_client_get_game_info will return information about the game.
If the game could not be identified, rc_client_get_game_info will return a dummy game object containing the hash that did not resolve. It's id will be 0.
Processing goes through rc_hash_generate_from_buffer or rc_hash_generate_from_file, so it supports providing custom filesystem hooks via rc_hash_init_custom_filereader and rc_hash_init_custom_cdreader.
Requires RC_CLIENT_SUPPORTS_HASH to be defined in 11.2+
Minimum version: 11.0.0
rc_client
- rc_client_abort_async
- rc_client_create
- rc_client_destroy
- rc_client_enable_logging
- rc_client_get_encore_mode_enabled
- rc_client_get_hardcore_enabled
- rc_client_get_spectator_mode_enabled
- rc_client_get_unofficial_enabled
- rc_client_get_user_agent_clause
- rc_client_get_userdata
- rc_client_set_allow_background_memory_reads
- rc_client_set_encore_mode_enabled
- rc_client_set_hardcore_enabled
- rc_client_set_hash_callbacks
- rc_client_set_host
- rc_client_set_spectator_mode_enabled
- rc_client_set_unofficial_enabled
- rc_client_set_userdata
- rc_client_begin_fetch_all_user_progress
- rc_client_begin_login_with_password
- rc_client_begin_login_with_token
- rc_client_destroy_all_user_progress
- rc_client_get_user_info
- rc_client_get_user_game_summary
- rc_client_get_user_subset_summary
- rc_client_logout
- rc_client_user_get_image_url
- rc_client_achievement_get_image_url
- rc_client_begin_change_media
- rc_client_begin_fetch_leaderboard_entries
- rc_client_begin_fetch_leaderboard_entries_around_user
- rc_client_begin_identify_and_change_media
- rc_client_begin_identify_and_load_game
- rc_client_begin_load_game
- rc_client_create_achievement_list
- rc_client_create_leaderboard_list
- rc_client_destroy_achievement_list
- rc_client_destroy_leaderboard_entry_list
- rc_client_destroy_leaderboard_list
- rc_client_game_get_image_url
- rc_client_get_achievement_info
- rc_client_get_game_info
- rc_client_get_leaderboard_info
- rc_client_get_load_game_state
- rc_client_get_rich_presence_message
- rc_client_get_subset_info
- rc_client_has_achievements
- rc_client_has_leaderboards
- rc_client_has_rich_presence
- rc_client_is_game_loaded
- rc_client_leaderboard_entry_get_user_image_url
- rc_client_unload_game
- rc_client_can_pause
- rc_client_deserialize_progress
- rc_client_do_frame
- rc_client_idle
- rc_client_is_processing_required
- rc_client_progress_size
- rc_client_reset
- rc_client_serialize_progress
- rc_client_set_event_handler
- rc_client_set_read_memory_function
- rc_client_begin_fetch_game_titles
- rc_client_begin_fetch_hash_library
- rc_client_destroy_game_title_list
- rc_client_destroy_hash_library
- rc_client_begin_load_raintegration
- rc_client_raintegration_activate_menu_item
- rc_client_raintegration_get_achievement_state
- rc_client_raintegration_get_menu
- rc_client_raintegration_has_modifications
- rc_client_raintegration_rebuild_submenu
- rc_client_raintegration_set_console_id
- rc_client_raintegration_set_event_handler
- rc_client_raintegration_set_get_game_name_function
- rc_client_raintegration_set_write_memory_function
- rc_client_raintegration_update_main_window_handle
- rc_client_raintegration_update_menu_item
- rc_client_unload_raintegration
rc_runtime
- rc_runtime_activate_achievement
- rc_runtime_activate_lboard
- rc_runtime_activate_richpresence
- rc_runtime_deactivate_achievement
- rc_runtime_deactivate_lboard
- rc_runtime_deserialize_progress
- rc_runtime_destroy
- rc_runtime_do_frame
- rc_runtime_format_achievement_measured
- rc_runtime_format_lboard_value
- rc_runtime_get_achievement
- rc_runtime_get_achievement_measured
- rc_runtime_get_lboard
- rc_runtime_get_richpresence
- rc_runtime_init
- rc_runtime_invalidate_address
- rc_runtime_progress_size
- rc_runtime_reset
- rc_runtime_serialize_progress
- rc_runtime_validate_addresses
rapi
- rc_api_destroy_fetch_all_user_progress_response
- rc_api_destroy_fetch_followed_users_response
- rc_api_destroy_fetch_user_unlocks_response
- rc_api_destroy_login_response
- rc_api_destroy_start_session_response
- rc_api_init_fetch_all_user_progress_request
- rc_api_init_fetch_followed_users_request
- rc_api_init_fetch_user_unlocks_request
- rc_api_init_login_request
- rc_api_init_start_session_request
- rc_api_process_fetch_all_user_progress_server_response
- rc_api_process_fetch_followed_users_server_response
- rc_api_process_fetch_user_unlocks_response
- rc_api_process_login_response
- rc_api_process_start_session_response
- rc_api_destroy_award_achievement_response
- rc_api_destroy_fetch_game_data_response
- rc_api_destroy_fetch_game_sets_response
- rc_api_destroy_ping_response
- rc_api_destroy_resolve_hash_response
- rc_api_destroy_submit_lboard_entry_response
- rc_api_init_award_achievement_request
- rc_api_init_fetch_game_data_request
- rc_api_init_fetch_game_sets_request
- rc_api_init_fetch_image_request
- rc_api_init_ping_request
- rc_api_init_resolve_hash_request
- rc_api_init_submit_lboard_entry_request
- rc_api_process_award_achievement_response
- rc_api_process_fetch_game_data_response
- rc_api_process_fetch_game_sets_server_response
- rc_api_process_ping_response
- rc_api_process_resolve_hash_response
- rc_api_process_submit_lboard_entry_response
- rc_api_destroy_fetch_achievement_info_response
- rc_api_destroy_fetch_game_titles_response
- rc_api_destroy_fetch_games_list_response
- rc_api_destroy_fetch_hash_library_response
- rc_api_destroy_fetch_leaderboard_info_response
- rc_api_init_fetch_achievement_info_request
- rc_api_init_fetch_game_titles_request
- rc_api_init_fetch_games_list_request
- rc_api_init_fetch_hash_library_request
- rc_api_init_fetch_leaderboard_info_request
- rc_api_process_fetch_achievement_info_response
- rc_api_process_fetch_game_titles_server_response
- rc_api_process_fetch_games_list_response
- rc_api_process_fetch_hash_library_response
- rc_api_process_fetch_leaderboard_info_response