Browse Source

EngineConfig issues with deployed applications #1276

JimMarlowe 9 years ago
parent
commit
07c336d40e
2 changed files with 27 additions and 5 deletions
  1. 14 5
      Source/AtomicApp/AppBase.cpp
  2. 13 0
      Source/ToolCore/Build/BuildMac.cpp

+ 14 - 5
Source/AtomicApp/AppBase.cpp

@@ -61,6 +61,11 @@ namespace Atomic
 
 
             arguments_ = GetArguments();
             arguments_ = GetArguments();
         }
         }
+        
+        // Seed the default Settings path
+        FileSystem* fileSystem = GetSubsystem<FileSystem>();
+        String settingspath = fileSystem->GetProgramDir() + "Settings/";
+        AddEngineConfigSearchPath(settingspath);
 
 
     }
     }
 
 
@@ -158,12 +163,16 @@ namespace Atomic
 
 
             String filename = AddTrailingSlash(path) + "Engine.json";
             String filename = AddTrailingSlash(path) + "Engine.json";
 
 
-            if (!fileSystem->FileExists(filename))
-                return;
-
-            if (EngineConfig::LoadFromFile(context_, filename))
+            // take the 1st Engine.json found in the paths
+            if (fileSystem->FileExists(filename))
             {
             {
-                EngineConfig::ApplyConfig(engineParameters_);
+
+                if (EngineConfig::LoadFromFile(context_, filename))
+                {
+                    EngineConfig::ApplyConfig(engineParameters_);
+                }
+
+                return;
             }
             }
         }
         }
 
 

+ 13 - 0
Source/ToolCore/Build/BuildMac.cpp

@@ -138,6 +138,19 @@ void BuildMac::Build(const String& buildPath)
     if (!BuildCopyFile(appSrcPath + "/Contents/MacOS/AtomicPlayer", buildPath_ + "/Contents/MacOS/AtomicPlayer"))
     if (!BuildCopyFile(appSrcPath + "/Contents/MacOS/AtomicPlayer", buildPath_ + "/Contents/MacOS/AtomicPlayer"))
         return;
         return;
 
 
+    if (!BuildCreateDirectory(buildPath_ + "/Contents/MacOS/Settings"))
+        return;
+
+    String engineJSON(GetSettingsDirectory() + "/Engine.json");
+    
+    if (fileSystem->FileExists(engineJSON))
+    {
+
+        if (!BuildCopyFile(engineJSON, buildPath_ + "/Contents/MacOS/Settings/Engine.json"))
+            return;
+
+    }
+
 #ifdef ATOMIC_PLATFORM_OSX
 #ifdef ATOMIC_PLATFORM_OSX
     Vector<String> args;
     Vector<String> args;
     args.Push("+x");
     args.Push("+x");