#pragma once #include enum game_id { GAME_INVALID, GAME_HI3_GLB, GAME_HSR_OS, GAME_HSR_CN }; #define INVOKE_CALLBACK(callback, ...) if (callback) { callback(__VA_ARGS__); } typedef void (*unityplayer_callback_t)(HMODULE unityModule); struct game_data { enum game_id id; // Temporary const char *name; const char *assembly_path; const char *tp6_section_name; // Unused for now const char *tvm_section_name; unityplayer_callback_t unityplayer_callback; }; void game_detect(struct game_data *buf); void hi3_fill_data(struct game_data *buf); void hsr_fill_data(struct game_data *buf);