Added "self contained" mode for Steam installation and similar. Editor looks for a file ._sc_ in the directory where the executable is, if it's present, all the editor settings (including the export templates) are read from editor_data/ inside that directory
This commit is contained in:
parent
336f69b214
commit
c0e7155591
1 changed files with 19 additions and 9 deletions
|
@ -165,13 +165,22 @@ void EditorSettings::create() {
|
||||||
return; //pointless
|
return; //pointless
|
||||||
|
|
||||||
DirAccess *dir=NULL;
|
DirAccess *dir=NULL;
|
||||||
Object *object;
|
|
||||||
Variant meta;
|
Variant meta;
|
||||||
|
|
||||||
String config_path;
|
String config_path;
|
||||||
String config_dir;
|
String config_dir;
|
||||||
String config_file="editor_settings.xml";
|
String config_file="editor_settings.xml";
|
||||||
|
|
||||||
|
String exe_path = OS::get_singleton()->get_executable_path().get_base_dir();
|
||||||
|
DirAccess* d = DirAccess::create_for_path(exe_path);
|
||||||
|
if (d->file_exists(exe_path + "/._sc_")) {
|
||||||
|
|
||||||
|
// editor is self contained
|
||||||
|
config_path = exe_path;
|
||||||
|
config_dir = "editor_data";
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
if (OS::get_singleton()->has_environment("APPDATA")) {
|
if (OS::get_singleton()->has_environment("APPDATA")) {
|
||||||
// Most likely under windows, save here
|
// Most likely under windows, save here
|
||||||
config_path=OS::get_singleton()->get_environment("APPDATA");
|
config_path=OS::get_singleton()->get_environment("APPDATA");
|
||||||
|
@ -181,6 +190,7 @@ void EditorSettings::create() {
|
||||||
config_path=OS::get_singleton()->get_environment("HOME");
|
config_path=OS::get_singleton()->get_environment("HOME");
|
||||||
config_dir="."+String(_MKSTR(VERSION_SHORT_NAME)).to_lower();
|
config_dir="."+String(_MKSTR(VERSION_SHORT_NAME)).to_lower();
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
ObjectTypeDB::register_type<EditorSettings>(); //otherwise it can't be unserialized
|
ObjectTypeDB::register_type<EditorSettings>(); //otherwise it can't be unserialized
|
||||||
String config_file_path;
|
String config_file_path;
|
||||||
|
|
Loading…
Reference in a new issue