|
|
@@ -0,0 +1,55 @@
|
|
|
+// OgreBatchConverter.cpp : Defines the entry point for the console application.
|
|
|
+//
|
|
|
+
|
|
|
+#include "Context.h"
|
|
|
+#include "FileSystem.h"
|
|
|
+#include "ProcessUtils.h"
|
|
|
+
|
|
|
+#include <stdio.h>
|
|
|
+
|
|
|
+using namespace Urho3D;
|
|
|
+
|
|
|
+SharedPtr<Context> context(new Context());
|
|
|
+SharedPtr<FileSystem> fileSystem(new FileSystem(context));
|
|
|
+
|
|
|
+int main(int argc, char** argv)
|
|
|
+{
|
|
|
+ // Take in account args and place on OgreImporter args
|
|
|
+ const Vector<String>& args = ParseArguments(argc, argv);
|
|
|
+ Vector<String> files;
|
|
|
+ String currentDir = fileSystem->GetCurrentDir();
|
|
|
+
|
|
|
+ // Try to execute OgreImporter from same directory as this executable
|
|
|
+ String ogreImporterName = fileSystem->GetProgramDir() + "OgreImporter";
|
|
|
+
|
|
|
+ printf("\n\nOgreBatchConverter requires OgreImporter.exe on same directory");
|
|
|
+ printf("\nSearching Ogre file in Xml format in %s\n" ,currentDir.CString());
|
|
|
+ fileSystem->ScanDir(files, currentDir, "*.xml", SCAN_FILES, true);
|
|
|
+ printf("\nFound %d files\n", files.Size());
|
|
|
+ #ifdef WIN32
|
|
|
+ if (files.Size()) fileSystem->SystemCommand("pause");
|
|
|
+ #endif
|
|
|
+
|
|
|
+ for (unsigned i = 0 ; i < files.Size(); i++)
|
|
|
+ {
|
|
|
+ Vector<String> cmdArgs;
|
|
|
+ cmdArgs.Push(files[i]);
|
|
|
+ cmdArgs.Push(ReplaceExtension(files[i], ".mdl"));
|
|
|
+ cmdArgs.Push(args);
|
|
|
+
|
|
|
+ String cmdPreview = ogreImporterName;
|
|
|
+ for (unsigned j = 0; j < cmdArgs.Size(); j++)
|
|
|
+ cmdPreview += " " + cmdArgs[j];
|
|
|
+
|
|
|
+ printf("\n%s", cmdPreview.CString());
|
|
|
+ fileSystem->SystemRun(ogreImporterName, cmdArgs);
|
|
|
+ }
|
|
|
+
|
|
|
+ printf("\nExit\n");
|
|
|
+ #ifdef WIN32
|
|
|
+ fileSystem->SystemCommand("pause");
|
|
|
+ #endif
|
|
|
+
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|