Browse Source

Initial work on .tmx to .scene conversion

Rcmaniac25 11 years ago
parent
commit
40bf98b4cc

+ 2 - 0
tools/encoder/gameplay-encoder.vcxproj

@@ -50,6 +50,7 @@
     <ClCompile Include="src\Sampler.cpp" />
     <ClCompile Include="src\Scene.cpp" />
     <ClCompile Include="src\StringUtil.cpp" />
+    <ClCompile Include="src\TMXSceneEncoder.cpp" />
     <ClCompile Include="src\Transform.cpp" />
     <ClCompile Include="src\TTFFontEncoder.cpp" />
     <ClCompile Include="src\Vector2.cpp" />
@@ -98,6 +99,7 @@
     <ClInclude Include="src\Scene.h" />
     <ClInclude Include="src\StringUtil.h" />
     <ClInclude Include="src\Thread.h" />
+    <ClInclude Include="src\TMXSceneEncoder.h" />
     <ClInclude Include="src\Transform.h" />
     <ClInclude Include="src\TTFFontEncoder.h" />
     <ClInclude Include="src\Vector2.h" />

+ 6 - 0
tools/encoder/gameplay-encoder.vcxproj.filters

@@ -139,6 +139,9 @@
     <ClCompile Include="src\edtaa3func.c">
       <Filter>src</Filter>
     </ClCompile>
+    <ClCompile Include="src\TMXSceneEncoder.cpp">
+      <Filter>src</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="src\VertexElement.h">
@@ -279,6 +282,9 @@
     <ClInclude Include="src\edtaa3func.h">
       <Filter>src</Filter>
     </ClInclude>
+    <ClInclude Include="src\TMXSceneEncoder.h">
+      <Filter>src</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <None Include="src\Vector2.inl">

+ 4 - 0
tools/encoder/src/EncoderArguments.cpp

@@ -358,6 +358,10 @@ EncoderArguments::FileFormat EncoderArguments::getFileFormat() const
     {
         return FILEFORMAT_FBX;
     }
+    if (ext.compare("tmx") == 0)
+    {
+        return FILEFORMAT_TMX;
+    }
     if (ext.compare("ttf") == 0)
     {
         return FILEFORMAT_TTF;

+ 1 - 0
tools/encoder/src/EncoderArguments.h

@@ -20,6 +20,7 @@ public:
         FILEFORMAT_UNKNOWN,
         FILEFORMAT_DAE,
         FILEFORMAT_FBX,
+        FILEFORMAT_TMX,
         FILEFORMAT_TTF,
         FILEFORMAT_GPB,
         FILEFORMAT_PNG,

+ 29 - 0
tools/encoder/src/TMXSceneEncoder.cpp

@@ -0,0 +1,29 @@
+#include <string>
+
+#include "TMXSceneEncoder.h"
+
+using namespace gameplay;
+using namespace tinyxml2;
+using std::string;
+
+TMXSceneEncoder::TMXSceneEncoder()
+{
+}
+
+TMXSceneEncoder::~TMXSceneEncoder()
+{
+}
+
+void TMXSceneEncoder::write(const string& filepath)
+{
+	XMLDocument xmlDoc;
+	XMLError err;
+	if ((err = xmlDoc.LoadFile(filepath.c_str())) != XML_NO_ERROR)
+	{
+		LOG(1, "Call to XMLDocument::LoadFile() failed.\n");
+		LOG(1, "Error returned: %d\n\n", err);
+		exit(-1);
+	}
+
+	//TODO
+}

+ 31 - 0
tools/encoder/src/TMXSceneEncoder.h

@@ -0,0 +1,31 @@
+#ifndef TMXSCENEEENCODER_H_
+#define TMXSCENEEENCODER_H_
+
+#include <tinyxml2.h>
+
+#include "Base.h"
+#include "StringUtil.h"
+
+/**
+ * Class for encoding an TMX file.
+ */
+class TMXSceneEncoder
+{
+public:
+	/**
+	* Constructor.
+	*/
+	TMXSceneEncoder();
+
+	/**
+	* Destructor.
+	*/
+	~TMXSceneEncoder();
+
+	/**
+	* Writes out encoded FBX file.
+	*/
+	void write(const std::string& filepath);
+};
+
+#endif

+ 8 - 0
tools/encoder/src/main.cpp

@@ -1,5 +1,6 @@
 #include "Base.h"
 #include "FBXSceneEncoder.h"
+#include "TMXSceneEncoder.h"
 #include "TTFFontEncoder.h"
 #include "GPBDecoder.h"
 #include "EncoderArguments.h"
@@ -111,6 +112,13 @@ int main(int argc, const char** argv)
             fbxEncoder.write(realpath, arguments);
             break;
         }
+    case EncoderArguments::FILEFORMAT_TMX:
+        {
+            std::string realpath(arguments.getFilePath());
+            TMXSceneEncoder tmxEncoder;
+            tmxEncoder.write(realpath);
+            break;
+        }
     case EncoderArguments::FILEFORMAT_TTF:
         {
             std::vector<unsigned int> fontSizes = arguments.getFontSizes();