forked from Dniel97/segatools
[unity] Fix Unity config path
This commit is contained in:
parent
4041844ea9
commit
65173e1fa6
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user