rc_client_raintegration_internal.h (2932B)
1 #ifndef RC_CLIENT_RAINTEGRATION_INTERNAL_H 2 #define RC_CLIENT_RAINTEGRATION_INTERNAL_H 3 4 #include "rc_client_raintegration.h" 5 6 #ifdef RC_CLIENT_SUPPORTS_RAINTEGRATION 7 8 #include "rc_client_external.h" 9 #include "rc_compat.h" 10 11 RC_BEGIN_C_DECLS 12 13 /* RAIntegration follows the same calling convention as rcheevos */ 14 15 typedef void (RC_CCONV* rc_client_raintegration_action_func_t)(void); 16 typedef const char* (RC_CCONV* rc_client_raintegration_get_string_func_t)(void); 17 typedef int (RC_CCONV* rc_client_raintegration_init_client_func_t)(HWND hMainWnd, const char* sClientName, const char* sClientVersion); 18 typedef int (RC_CCONV* rc_client_raintegration_get_external_client_func_t)(rc_client_external_t* pClient, int nVersion); 19 typedef void (RC_CCONV* rc_client_raintegration_hwnd_action_func_t)(HWND hWnd); 20 typedef int (RC_CCONV* rc_client_raintegration_get_achievement_state_func_t)(uint32_t nMenuItemId); 21 typedef const rc_client_raintegration_menu_t* (RC_CCONV* rc_client_raintegration_get_menu_func_t)(void); 22 typedef int (RC_CCONV* rc_client_raintegration_activate_menuitem_func_t)(uint32_t nMenuItemId); 23 typedef void (RC_CCONV* rc_client_raintegration_set_write_memory_func_t)(rc_client_t* pClient, rc_client_raintegration_write_memory_func_t handler); 24 typedef void (RC_CCONV* rc_client_raintegration_set_get_game_name_func_t)(rc_client_t* pClient, rc_client_raintegration_get_game_name_func_t handler); 25 typedef void (RC_CCONV* rc_client_raintegration_set_event_handler_func_t)(rc_client_t* pClient, rc_client_raintegration_event_handler_t handler); 26 typedef void (RC_CCONV* rc_client_raintegration_set_int_func_t)(int); 27 typedef int (RC_CCONV* rc_client_raintegration_get_int_func_t)(void); 28 29 typedef struct rc_client_raintegration_t 30 { 31 HINSTANCE hDLL; 32 HWND hMainWindow; 33 HMENU hPopupMenu; 34 uint8_t bIsInited; 35 36 rc_client_raintegration_get_string_func_t get_version; 37 rc_client_raintegration_get_string_func_t get_host_url; 38 rc_client_raintegration_init_client_func_t init_client; 39 rc_client_raintegration_init_client_func_t init_client_offline; 40 rc_client_raintegration_set_int_func_t set_console_id; 41 rc_client_raintegration_action_func_t shutdown; 42 43 rc_client_raintegration_hwnd_action_func_t update_main_window_handle; 44 45 rc_client_raintegration_set_write_memory_func_t set_write_memory_function; 46 rc_client_raintegration_set_get_game_name_func_t set_get_game_name_function; 47 rc_client_raintegration_set_event_handler_func_t set_event_handler; 48 rc_client_raintegration_get_menu_func_t get_menu; 49 rc_client_raintegration_activate_menuitem_func_t activate_menu_item; 50 rc_client_raintegration_get_int_func_t has_modifications; 51 rc_client_raintegration_get_achievement_state_func_t get_achievement_state; 52 53 rc_client_raintegration_get_external_client_func_t get_external_client; 54 55 } rc_client_raintegration_t; 56 57 RC_END_C_DECLS 58 59 #endif /* RC_CLIENT_SUPPORTS_RAINTEGRATION */ 60 61 #endif /* RC_CLIENT_RAINTEGRATION_INTERNAL_H */