Merge pull request '[unity] Fix Unity config path' (#12) from beerpsi/segatools:fix/unity/wrong-config-path into develop

Reviewed-on: Dniel97/segatools#12
This commit is contained in:
Dniel97 2024-04-29 19:41:53 +00:00
commit a8c6ac70e4

View File

@ -66,21 +66,22 @@ void doorstop_invoke(void* domain) {
if (mono_domain_set_config) { if (mono_domain_set_config) {
#define CONFIG_EXT L".config" #define CONFIG_EXT L".config"
wchar_t exe_path[MAX_PATH]; wchar_t config_path[MAX_PATH];
size_t exe_path_len = GetModuleFileNameW(NULL, exe_path, MAX_PATH); size_t config_path_len = GetModuleFileNameW(NULL, config_path, MAX_PATH);
wchar_t *folder_name = wcsdup(exe_path); wchar_t *folder_name = wcsdup(config_path);
PathCchRemoveFileSpec(folder_name, exe_path_len + 1); PathCchRemoveFileSpec(folder_name, config_path_len + 1);
wmemcpy(config_path + config_path_len, CONFIG_EXT, sizeof(CONFIG_EXT) / sizeof(CONFIG_EXT[0]));
char *exe_path_n = narrow(exe_path); char *config_path_n = narrow(config_path);
char *folder_name_n = narrow(folder_name); char *folder_name_n = narrow(folder_name);
dprintf("Unity: Setting config paths: base dir: %s; config path: %s\n", folder_name_n, exe_path_n); dprintf("Unity: Setting config paths: base dir: %s; config path: %s\n", folder_name_n, config_path_n);
mono_domain_set_config(domain, folder_name_n, exe_path_n); mono_domain_set_config(domain, folder_name_n, config_path_n);
free(folder_name); free(folder_name);
free(exe_path_n); free(config_path_n);
free(folder_name_n); free(folder_name_n);
#undef CONFIG_EXT #undef CONFIG_EXT