#pragma once #include enum game_id { GAME_INVALID, GAME_HI3_GLB, GAME_HI3_SEA, GAME_HI3_CN, GAME_HI3_TW, GAME_HI3_KR, GAME_HI3_JP, 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 *base_module_name; const char *assembly_name; 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);