ソースを参照

more unicode stuff

rdb 12 年 前
コミット
1cf986dd44

+ 3 - 2
pandatool/src/maxegg/maxEgg.cxx

@@ -529,9 +529,10 @@ void MaxEggPlugin::DoExport() {
             // If "auto overwrite" was not checked and the file exists,
             // ask if the user wishes to overwrite the file
             bool do_write = true;
-            if (!autoOverwrite && Filename::from_os_specific(eggList[i]->_file_name).exists()) {
+
+            if (!autoOverwrite && GetFileAttributes(eggList[i]->_file_name) != INVALID_FILE_ATTRIBUTES) {
                 TCHAR msg[1024];
-                _stprintf(msg, "Overwrite file \"%s.egg\"?", eggList[i]->_short_name);
+                _stprintf(msg, _T("Overwrite file \"%s.egg\"?"), eggList[i]->_short_name);
                 do_write = (MessageBox(hMaxEggParams, msg, _T("Panda3D Exporter"), MB_YESNO | MB_ICONQUESTION) == IDYES);
             }
             if (do_write) {

+ 9 - 8
pandatool/src/maxegg/maxNodeTree.cxx

@@ -290,8 +290,8 @@ r_build_node(INode* max_node)
     node_desc = _root;
 
   } else {
-    INode *parent_node; 
-    string local_name = max_node->GetName();
+    INode *parent_node;
+    CStr local_name = CStr::FromMSTR(max_node->GetName());
     if (max_node->IsRootNode()) {
       parent_node = NULL;
     } else {
@@ -315,17 +315,18 @@ r_build_node(INode* max_node)
 MaxNodeDesc *MaxNodeTree::
 r_build_joint(MaxNodeDesc *node_desc, INode *max_node) 
 {
+  CStr node_name = CStr::FromMSTR(max_node->GetName())
   MaxNodeDesc *node_joint;
   if (node_desc == _root) {
-    node_joint =  new MaxNodeDesc(_root, max_node->GetName());
+    node_joint =  new MaxNodeDesc(_root, node_name);
     _nodes.push_back(node_joint);
-        return node_joint;
-  }     else if (node_desc->is_node_joint() && node_desc->_joint_entry) {
-    node_joint =  new MaxNodeDesc(node_desc->_joint_entry, max_node->GetName());
+    return node_joint;
+  } else if (node_desc->is_node_joint() && node_desc->_joint_entry) {
+    node_joint =  new MaxNodeDesc(node_desc->_joint_entry, node_name);
     _nodes.push_back(node_joint);
-        return node_joint;
+    return node_joint;
   } else {
-        return r_build_joint(node_desc->_parent, max_node);
+    return r_build_joint(node_desc->_parent, max_node);
   }
 }
 

+ 5 - 3
pandatool/src/maxegg/maxToEggConverter.cxx

@@ -370,7 +370,8 @@ process_model_node(MaxNodeDesc *node_desc) {
                             //It's a CV Curve, process it
                             egg_group = _tree.get_egg_group(node_desc);
                             get_transform(max_node, egg_group);
-                            make_nurbs_curve((NURBSCVCurve *)nObj, string(max_node->GetName()),
+                            CStr node_name = CStr::FromMSTR(max_node->GetName());
+                            make_nurbs_curve((NURBSCVCurve *)nObj, node_name,
                                              time, egg_group);
                         }
                     }
@@ -650,7 +651,8 @@ make_polyset(INode *max_node, Mesh *mesh,
     // all the vertices up front, we'll start with an empty vpool, and
     // add vertices to it on the fly.
 
-    string vpool_name = string(max_node->GetName()) + ".verts";
+    CStr node_name = CStr::FromMSTR(max_node->GetName());
+    string vpool_name = string(node_name) + ".verts";
     EggVertexPool *vpool = new EggVertexPool(vpool_name);
     egg_group->add_child(vpool);
 
@@ -1062,7 +1064,7 @@ void MaxToEggConverter::analyze_diffuse_maps(PandaMaterial &pandaMat, Texmap *ma
         BitmapTex *diffuseTex = (BitmapTex *)mat;
 
         Filename fullpath, outpath;
-#ifdef _UNICDOE
+#ifdef _UNICODE
         Filename filename = Filename::from_os_specific_w(diffuseTex->GetMapName());
 #else
         Filename filename = Filename::from_os_specific(diffuseTex->GetMapName());