OSDN Git Service

refactored
authornomeu <nomeu@72ae2088-5f33-de11-a17b-0000e250a282>
Mon, 2 Jan 2012 05:22:03 +0000 (05:22 +0000)
committernomeu <nomeu@72ae2088-5f33-de11-a17b-0000e250a282>
Mon, 2 Jan 2012 05:22:03 +0000 (05:22 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/tdcgexplorer/trunk/tso2mqo@2082 72ae2088-5f33-de11-a17b-0000e250a282

TSOGenerator.cs

index e73bfe0..28e7674 100644 (file)
@@ -15,7 +15,7 @@ namespace Tso2MqoGui
         private string dir;\r
         private TSOGeneratorConfig config;\r
         protected MqoFile mqo;\r
-        protected TSOFile tsor;\r
+        protected TSOFile tsoref;\r
         protected Dictionary<string, TSONode> nodes;\r
         protected List<TSOMesh> meshes;\r
         private ImportInfo ii;\r
@@ -106,11 +106,11 @@ namespace Tso2MqoGui
 \r
         private bool DoWriteNodeNames()\r
         {\r
-            bw.Write(tsor.nodes.Length);\r
+            bw.Write(tsoref.nodes.Length);\r
 \r
             nodes   = new Dictionary<string,TSONode>();\r
 \r
-            foreach(TSONode i in tsor.nodes)\r
+            foreach(TSONode i in tsoref.nodes)\r
             {\r
                 WriteString(bw, i.Name);\r
                 nodes.Add(i.ShortName, i);\r
@@ -121,9 +121,9 @@ namespace Tso2MqoGui
 \r
         private bool DoWriteNodeMatrices()\r
         {\r
-            bw.Write(tsor.nodes.Length);\r
+            bw.Write(tsoref.nodes.Length);\r
 \r
-            foreach(TSONode i in tsor.nodes)\r
+            foreach(TSONode i in tsoref.nodes)\r
                 WriteMatrix(bw, i.Matrix);\r
 \r
             return true;\r
@@ -271,17 +271,17 @@ namespace Tso2MqoGui
             return true;\r
         }\r
 \r
-        private bool DoCleanup()\r
+        protected virtual bool DoCleanup()\r
         {\r
-            dir         = null;\r
-            tsor        = null;\r
-            nodes       = null;\r
-            meshes      = null;\r
-            mqo         = null;\r
-            ii          = null;\r
-            bw          = null;\r
-            materials   = null;\r
-            textures    = null;\r
+            dir = null;\r
+            tsoref = null;\r
+            nodes = null;\r
+            meshes = null;\r
+            mqo = null;\r
+            ii = null;\r
+            bw = null;\r
+            materials = null;\r
+            textures = null;\r
 \r
             System.GC.Collect();\r
             return true;\r
@@ -436,7 +436,7 @@ namespace Tso2MqoGui
         protected override bool DoLoadRefTSO(string tsoref_file)\r
         {\r
             // 参照TSOロード\r
-            tsor    = LoadTSO(tsoref_file);\r
+            tsoref = LoadTSO(tsoref_file);\r
             return true;\r
         }\r
 \r
@@ -551,44 +551,44 @@ namespace Tso2MqoGui
 \r
         private void CreatePointCluster(TSOFile tso)\r
         {\r
-            vlst= new List<Vertex>();\r
+            vlst = new List<Vertex>();\r
 \r
-            foreach(TSOMesh i in tso.meshes)\r
-            foreach(TSOSubMesh j in i.sub)\r
-                vlst.AddRange(j.vertices);\r
+            foreach (TSOMesh i in tso.meshes)\r
+                foreach (TSOSubMesh j in i.sub)\r
+                    vlst.AddRange(j.vertices);\r
 \r
-            pc  = new PointCluster(vlst.Count);\r
+            pc = new PointCluster(vlst.Count);\r
 \r
-            foreach(Vertex i in vlst)\r
+            foreach (Vertex i in vlst)\r
                 pc.Add(i.Pos.x, i.Pos.y, i.Pos.z);\r
 \r
             pc.Clustering();\r
         }\r
 \r
-        protected override bool DoLoadRefTSO(string tsoref)\r
+        protected override bool DoLoadRefTSO(string tsoref_file)\r
         {\r
             // 参照TSOロード\r
-            tsor    = LoadTSO(tsoref);\r
-\r
-            foreach(TSOMesh i in tsor.meshes)\r
-            foreach(TSOSubMesh j in i.sub)\r
-            {\r
-                int[]   bones   = j.bones;\r
+            tsoref = LoadTSO(tsoref_file);\r
 \r
-                for(int k= 0, n= j.numvertices; k < n; ++k)\r
+            foreach (TSOMesh i in tsoref.meshes)\r
+                foreach (TSOSubMesh j in i.sub)\r
                 {\r
-                    // ボーンをグローバルな番号に変換\r
-                    uint    idx0= j.vertices[k].Idx;\r
-                    byte*   idx = (byte*)(&idx0);\r
-                    idx[0]      = (byte)bones[idx[0]];\r
-                    idx[1]      = (byte)bones[idx[1]];\r
-                    idx[2]      = (byte)bones[idx[2]];\r
-                    idx[3]      = (byte)bones[idx[3]];\r
-                    j.vertices[k].Idx   = idx0;\r
+                    int[] bones = j.bones;\r
+\r
+                    for (int k = 0, n = j.numvertices; k < n; ++k)\r
+                    {\r
+                        // ボーンをグローバルな番号に変換\r
+                        uint idx0 = j.vertices[k].Idx;\r
+                        byte* idx = (byte*)(&idx0);\r
+                        idx[0] = (byte)bones[idx[0]];\r
+                        idx[1] = (byte)bones[idx[1]];\r
+                        idx[2] = (byte)bones[idx[2]];\r
+                        idx[3] = (byte)bones[idx[3]];\r
+                        j.vertices[k].Idx = idx0;\r
+                    }\r
                 }\r
-            }\r
 \r
-            CreatePointCluster(tsor);\r
+            CreatePointCluster(tsoref);\r
             return true;\r
         }\r
 \r
@@ -765,6 +765,12 @@ namespace Tso2MqoGui
             return true;\r
         }\r
 \r
+        protected override bool DoCleanup()\r
+        {\r
+            pc = null;\r
+            vlst = null;\r
+            return base.DoCleanup();\r
+        }\r
     }\r
 \r
     public class TextureInfo\r