From 34b8e0844ee11988a57c5205074779f0f81ae8ce Mon Sep 17 00:00:00 2001 From: rdb Date: Thu, 20 Oct 2016 11:13:44 +0200 Subject: [PATCH] Fix compile errors in unicode conversion in max exporter --- pandatool/src/maxegg/maxEggLoader.cxx | 11 +++++++++-- pandatool/src/maxegg/maxToEggConverter.cxx | 15 +++++++++++++++ 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/pandatool/src/maxegg/maxEggLoader.cxx b/pandatool/src/maxegg/maxEggLoader.cxx index 5129045100..d6adf0ec41 100644 --- a/pandatool/src/maxegg/maxEggLoader.cxx +++ b/pandatool/src/maxegg/maxEggLoader.cxx @@ -291,7 +291,7 @@ void MaxEggJoint::CreateMaxBone(void) _node->SetRenderable(FALSE); #ifdef _UNICODE - TCHAR *wname [1024]; + TCHAR wname[1024]; wname[1023] = 0; mbstowcs(wname, _egg_joint->get_name().c_str(), 1023); _node->SetName(wname); @@ -468,7 +468,14 @@ MaxEggMesh *MaxEggLoader::GetMesh(EggVertexPool *pool) result->_tvert_count = 0; result->_cvert_count = 0; result->_face_count = 0; - result->_node->SetName(TSTR(name.c_str())); +#ifdef _UNICODE + TCHAR wname[1024]; + wname[1023] = 0; + mbstowcs(wname, name.c_str(), 1023); + result->_node->SetName(wname); +#else + result->_node->SetName((char*) name.c_str()); +#endif _mesh_tab[pool] = result; } return result; diff --git a/pandatool/src/maxegg/maxToEggConverter.cxx b/pandatool/src/maxegg/maxToEggConverter.cxx index bcc32aeff3..37f5011f00 100644 --- a/pandatool/src/maxegg/maxToEggConverter.cxx +++ b/pandatool/src/maxegg/maxToEggConverter.cxx @@ -589,7 +589,14 @@ make_nurbs_curve(INode *max_node, NURBSCVCurve *curve, return false; } +#ifdef _UNICODE + char mbname[1024]; + mbname[1023] = 0; + wcstombs(mbname, max_node->GetName(), 1023); + string name(mbname); +#else string name = max_node->GetName(); +#endif string vpool_name = name + ".cvs"; EggVertexPool *vpool = new EggVertexPool(vpool_name); @@ -652,7 +659,15 @@ 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. +#ifdef _UNICODE + char mbname[1024]; + mbname[1023] = 0; + wcstombs(mbname, max_node->GetName(), 1023); + string node_name(mbname); +#else string node_name = max_node->GetName(); +#endif + string vpool_name = node_name + ".verts"; EggVertexPool *vpool = new EggVertexPool(vpool_name); egg_group->add_child(vpool);