summaryrefslogtreecommitdiff
path: root/core/globals.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/globals.cpp')
-rw-r--r--core/globals.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/core/globals.cpp b/core/globals.cpp
index 7df7680827..ccda457f46 100644
--- a/core/globals.cpp
+++ b/core/globals.cpp
@@ -243,12 +243,27 @@ bool Globals::_load_resource_pack(const String& p_pack) {
return true;
}
-Error Globals::setup(const String& p_path) {
+Error Globals::setup(const String& p_path,const String & p_main_pack) {
//an absolute mess of a function, must be cleaned up and reorganized somehow at some point
//_load_settings(p_path+"/override.cfg");
+ if (p_main_pack!="") {
+
+ bool ok = _load_resource_pack(p_main_pack);
+ ERR_FAIL_COND_V(!ok,ERR_CANT_OPEN);
+
+ if (_load_settings("res://engine.cfg")==OK || _load_settings_binary("res://engine.cfb")==OK) {
+
+ _load_settings("res://override.cfg");
+
+ }
+
+ return OK;
+
+ }
+
if (OS::get_singleton()->get_executable_path()!="") {
if (_load_resource_pack(OS::get_singleton()->get_executable_path())) {
@@ -1343,6 +1358,7 @@ void Globals::_bind_methods() {
ObjectTypeDB::bind_method(_MD("save"),&Globals::save);
ObjectTypeDB::bind_method(_MD("has_singleton"),&Globals::has_singleton);
ObjectTypeDB::bind_method(_MD("get_singleton"),&Globals::get_singleton_object);
+ ObjectTypeDB::bind_method(_MD("load_resource_pack"),&Globals::_load_resource_pack);
}
Globals::Globals() {
@@ -1364,6 +1380,7 @@ Globals::Globals() {
set("application/name","" );
set("application/main_scene","");
custom_prop_info["application/main_scene"]=PropertyInfo(Variant::STRING,"application/main_scene",PROPERTY_HINT_FILE,"xml,res,scn,xscn");
+ set("application/disable_stdout",false);
key.key.scancode=KEY_RETURN;