Browse Source

Default to local build folders in case of missing Tool Environment JSON, add --project to AtomicEditor player mode

Josh Engebretson 10 years ago
parent
commit
acd296c261

+ 2 - 0
CMakeLists.txt

@@ -5,6 +5,8 @@ cmake_minimum_required (VERSION 2.8)
 
 set (CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/CMake/Modules)
 
+add_definitions(-DATOMIC_ROOT_SOURCE_DIR="${CMAKE_SOURCE_DIR}" -DATOMIC_ROOT_BUILD_DIR="${CMAKE_BINARY_DIR}")
+
 add_definitions( -DATOMIC_API= -DATOMIC_STATIC_DEFINE -DATOMIC_ATOMIC2D -DATOMIC_LOGGING)
 
 add_definitions( -DATOMIC_DEV_BUILD )

+ 17 - 0
Source/AtomicEditor/Source/Player/AEPlayerApplication.cpp

@@ -125,9 +125,26 @@ void AEPlayerApplication::Setup()
 
                 }
 
+            }
+            else if (argument == "--project" && value.Length())
+            {
+                engineParameters_["ResourcePrefixPath"] = "";
+
+
+                // This works for a local dev build, --editor-resource-paths command below is for
+                // launching from AtomicEditor (IPC)
+
+                String resourcePaths = ToString("%s/Data/AtomicPlayer/Resources/CoreData;%s/Data/AtomicPlayer/Resources/PlayerData;%s/Resources",
+                         ATOMIC_ROOT_SOURCE_DIR, ATOMIC_ROOT_SOURCE_DIR, value.CString());
+
+                LOGINFOF("Adding ResourcePaths: %s", resourcePaths.CString());
+
+                engineParameters_["ResourcePaths"] = resourcePaths;
+
             }
             else if (argument == "--editor-resource-paths" && value.Length())
             {
+                // "/Users/josh/Dev/atomic/AtomicGameEngine/Data/AtomicPlayer/Resources/CoreData!/Users/josh/Dev/atomic/AtomicGameEngine/Data/AtomicPlayer/Resources/PlayerData!/Users/josh/Dev/atomic/AtomicExamples/NewSpaceGame/Resources"
                 engineParameters_["ResourcePrefixPath"] = "";
                 value.Replace("!", ";");
                 engineParameters_["ResourcePaths"] = value;

+ 8 - 1
Source/ToolCore/ToolEnvironment.cpp

@@ -38,7 +38,14 @@ bool ToolEnvironment::InitFromJSON()
     FileSystem* fileSystem = GetSubsystem<FileSystem>();
 
     if (!fileSystem->FileExists(devConfigFilename_))
-        return false;
+    {
+        // default to build directories
+
+        SetRootSourceDir(ATOMIC_ROOT_SOURCE_DIR);
+        SetRootBuildDir(ATOMIC_ROOT_BUILD_DIR);
+
+        return true;
+    }
 
     File jsonFile(context_, devConfigFilename_);