duckstation

duckstation, but archived from the revision just before upstream changed it to a proprietary software project, this version is the libre one
git clone https://git.neptards.moe/u3shit/duckstation.git
Log | Files | Refs | README | LICENSE

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 */