Changed: Convert CString and TCHAR* from/to std::string

This commit is contained in:
kervala 2016-11-22 13:07:52 +01:00
parent 7ce3f96422
commit c0be27e2bc
49 changed files with 241 additions and 272 deletions

View file

@ -139,7 +139,7 @@ bool CMaxToLigo::loadLigoConfigFile (CLigoConfig& config, Interface& it, bool di
try try
{ {
// Load the config file // Load the config file
config.readConfigFile (sModulePath, false); config.readConfigFile (tStrToUtf8(sModulePath), false);
// ok // ok
return true; return true;

View file

@ -317,7 +317,7 @@ inline void CEditableRangeT<float>::value2CString(float value, CString &dest)
inline const TCHAR *CEditableRangeT<float>::string2value(const CString &value, float &result) inline const TCHAR *CEditableRangeT<float>::string2value(const CString &value, float &result)
{ {
if (sscanf((LPCTSTR) value, "%f", &result) == 1) if (NLMISC::fromString(tStrToUtf8(value), result))
{ {
return NULL; return NULL;
} }
@ -343,8 +343,8 @@ inline void CEditableRangeT<uint32>::value2CString(uint32 value, CString &dest)
inline const TCHAR *CEditableRangeT<uint32>::string2value(const CString &value, uint32 &result) inline const TCHAR *CEditableRangeT<uint32>::string2value(const CString &value, uint32 &result)
{ {
uint32 tmp; sint32 tmp;
if (sscanf((LPCTSTR) value, "%d", &tmp) == 1) if (NLMISC::fromString(tStrToUtf8(value), tmp))
{ {
if (strchr((LPCTSTR) value, '-')) if (strchr((LPCTSTR) value, '-'))
{ {
@ -379,8 +379,8 @@ inline void CEditableRangeT<sint32>::value2CString(sint32 value, CString &dest)
inline const TCHAR *CEditableRangeT<sint32>::string2value(const CString &value, sint32 &result) inline const TCHAR *CEditableRangeT<sint32>::string2value(const CString &value, sint32 &result)
{ {
uint32 tmp; sint32 tmp;
if (sscanf((LPCTSTR) value, "%d", &tmp) == 1) if (NLMISC::fromString(tStrToUtf8(value), tmp))
{ {
result = tmp; result = tmp;
return NULL; return NULL;

View file

@ -159,8 +159,8 @@ BOOL CLocatedTargetDlg::OnInitDialog()
// fill the box thta tells us what the target are // fill the box thta tells us what the target are
for(k = 0; k < nbTarg; ++k) for(k = 0; k < nbTarg; ++k)
{ {
m_Targets.AddString(_LBTarget->getTarget(k)->getName().c_str() ); m_Targets.AddString(utf8ToTStr(_LBTarget->getTarget(k)->getName()));
m_Targets.SetItemData(k, (DWORD) _LBTarget->getTarget(k) ); m_Targets.SetItemData(k, (DWORD_PTR) _LBTarget->getTarget(k));
targetSet.insert(_LBTarget->getTarget(k)); targetSet.insert(_LBTarget->getTarget(k));
}; };
@ -179,8 +179,8 @@ BOOL CLocatedTargetDlg::OnInitDialog()
{ {
if (targetSet.find(loc) == targetSet.end()) if (targetSet.find(loc) == targetSet.end())
{ {
int l = m_AvailableTargets.AddString(loc->getName().c_str() ); int l = m_AvailableTargets.AddString(utf8ToTStr(loc->getName()));
m_AvailableTargets.SetItemData(l, (DWORD) loc ); m_AvailableTargets.SetItemData(l, (DWORD_PTR) loc);
} }
} }
} }

View file

@ -162,7 +162,7 @@ void CMeshDlg::updateForMorph()
GetDlgItem(IDC_SHAPE_NAME)->EnableWindow(!enable); GetDlgItem(IDC_SHAPE_NAME)->EnableWindow(!enable);
if (!enable) if (!enable)
{ {
m_ShapeName = cm->getShape().c_str(); m_ShapeName = utf8ToTStr(cm->getShape());
} }
else else
{ {

View file

@ -188,6 +188,7 @@ void CMultiTexDlg::readValues(bool alternate)
} }
} }
GetDlgItem(IDC_BUMP_FACTOR)->SetWindowText(utf8ToTStr(NLMISC::toString("%.3f", _MTP->getBumpFactor())));
} }
@ -206,7 +207,6 @@ void CMultiTexDlg::writeValues(bool alternate)
TCHAR u1[10], u2[10], v1[10], v2[10]; TCHAR u1[10], u2[10], v1[10], v2[10];
NLMISC::CVector2f vs1, vs2; NLMISC::CVector2f vs1, vs2;
if (!alternate) if (!alternate)
{ {
GetDlgItem(IDC_U_SPEED_1)->GetWindowText(u1, 10); GetDlgItem(IDC_U_SPEED_1)->GetWindowText(u1, 10);

View file

@ -159,7 +159,7 @@ void CPickSound::OnDblclkList()
stopCurrSource(); stopCurrSource();
CString sName; CString sName;
m_NameList.GetText(curSel, sName); m_NameList.GetText(curSel, sName);
_CurrSource = CSoundSystem::create(std::string( (LPCTSTR) sName)); _CurrSource = CSoundSystem::create(tStrToUtf8(sName));
} }
//======================================================================================== //========================================================================================

View file

@ -178,8 +178,8 @@ BOOL CPSMoverDlg::OnInitDialog()
{ {
if (dynamic_cast<NL3D::IPSMover *>(_EditedLocated->getBoundObject(k))) if (dynamic_cast<NL3D::IPSMover *>(_EditedLocated->getBoundObject(k)))
{ {
uint insertedLine = m_SubComponentCtrl.AddString(_EditedLocated->getBoundObject(k)->getName().c_str()); uint insertedLine = m_SubComponentCtrl.AddString(utf8ToTStr(_EditedLocated->getBoundObject(k)->getName()));
m_SubComponentCtrl.SetItemData(insertedLine, (DWORD) _EditedLocated->getBoundObject(k)); m_SubComponentCtrl.SetItemData(insertedLine, (DWORD_PTR) _EditedLocated->getBoundObject(k));
++nbCandidates; ++nbCandidates;
} }
} }

View file

@ -843,13 +843,13 @@ void CSkeletonScaleDlg::OnSsdButtonSaveas()
return; return;
// choose the file // choose the file
CFileDialog fd(FALSE, "skel", _SkeletonFileName.c_str(), OFN_OVERWRITEPROMPT, "SkelFiles (*.skel)|*.skel|All Files (*.*)|*.*||", this) ; CFileDialog fd(FALSE, _T("skel"), utf8ToTStr(_SkeletonFileName), OFN_OVERWRITEPROMPT, _T("SkelFiles (*.skel)|*.skel|All Files (*.*)|*.*||"), this) ;
fd.m_ofn.lpstrTitle= "Save As Skeleton"; fd.m_ofn.lpstrTitle = _T("Save As Skeleton");
if (fd.DoModal() == IDOK) if (fd.DoModal() == IDOK)
{ {
NLMISC::COFile f; NLMISC::COFile f;
if( f.open((const char*)fd.GetPathName()) ) if( f.open(tStrToUtf8(fd.GetPathName())) )
{ {
if(saveCurrentInStream(f)) if(saveCurrentInStream(f))
{ {
@ -859,7 +859,7 @@ void CSkeletonScaleDlg::OnSsdButtonSaveas()
} }
// bkup the valid fileName (new file edited) // bkup the valid fileName (new file edited)
_SkeletonFileName= (const char*)fd.GetPathName(); _SkeletonFileName= tStrToUtf8(fd.GetPathName());
_StaticFileName= _SkeletonFileName.c_str(); _StaticFileName= _SkeletonFileName.c_str();
UpdateData(FALSE); UpdateData(FALSE);
} }

View file

@ -196,7 +196,7 @@ void CVegetableDlg::updateCurSelVegetableName()
_Vegetables[id].updateVegetableName(); _Vegetables[id].updateVegetableName();
// replace name in the listBox: must delete, and re-insert // replace name in the listBox: must delete, and re-insert
VegetableList.DeleteString(id); VegetableList.DeleteString(id);
VegetableList.InsertString(id, _Vegetables[id].VegetableName.c_str()); VegetableList.InsertString(id, utf8ToTStr(_Vegetables[id].VegetableName));
VegetableList.SetCurSel(id); VegetableList.SetCurSel(id);
} }
} }
@ -349,14 +349,14 @@ bool CVegetableDlg::loadVegetableSet(NL3D::CTileVegetableDesc &vegetSet, const
ok= true; ok= true;
if( f.open((const char*)fd.GetPathName()) ) if( f.open(tStrToUtf8(fd.GetPathName())))
{ {
try try
{ {
// read the vegetable // read the vegetable
f.serial(vegetSet); f.serial(vegetSet);
// bkup fileName. // bkup fileName.
_LastVegetSetName= (const char*)fd.GetFileName(); _LastVegetSetName = tStrToUtf8(fd.GetFileName());
} }
catch(const NLMISC::EStream &) catch(const NLMISC::EStream &)
{ {
@ -439,7 +439,7 @@ void CVegetableDlg::appendVegetableSet(NL3D::CTileVegetableDesc &vegetSet)
_Vegetables[id].initVegetable(veget); _Vegetables[id].initVegetable(veget);
// update view // update view
VegetableList.AddString(_Vegetables[id].VegetableName.c_str()); VegetableList.AddString(utf8ToTStr(_Vegetables[id].VegetableName));
} }
} }
} }
@ -529,7 +529,7 @@ void CVegetableDlg::OnButtonVegetableAdd()
_Vegetables[id].initDefaultVegetable(); _Vegetables[id].initDefaultVegetable();
// update view // update view
VegetableList.AddString(_Vegetables[id].VegetableName.c_str()); VegetableList.AddString(utf8ToTStr(_Vegetables[id].VegetableName));
// update 3D view // update 3D view
refreshVegetableDisplay(); refreshVegetableDisplay();
@ -559,7 +559,7 @@ void CVegetableDlg::OnButtonVegetableInsert()
_Vegetables[id].initDefaultVegetable(); _Vegetables[id].initDefaultVegetable();
// update view // update view
VegetableList.InsertString(id, _Vegetables[id].VegetableName.c_str()); VegetableList.InsertString(id, utf8ToTStr(_Vegetables[id].VegetableName));
// update 3D view // update 3D view
refreshVegetableDisplay(); refreshVegetableDisplay();
@ -611,7 +611,7 @@ void CVegetableDlg::OnButtonVegetableLoadDesc()
{ {
NLMISC::CIFile f; NLMISC::CIFile f;
if( f.open((const char*)fd.GetPathName()) ) if( f.open(tStrToUtf8(fd.GetPathName())) )
{ {
NL3D::CVegetable veget; NL3D::CVegetable veget;
try try
@ -624,7 +624,7 @@ void CVegetableDlg::OnButtonVegetableLoadDesc()
_Vegetables[id].initVegetable(veget); _Vegetables[id].initVegetable(veget);
// update view // update view
VegetableList.AddString(_Vegetables[id].VegetableName.c_str()); VegetableList.AddString(utf8ToTStr(_Vegetables[id].VegetableName));
// update 3D view // update 3D view
refreshVegetableDisplay(); refreshVegetableDisplay();
@ -651,13 +651,13 @@ void CVegetableDlg::OnButtonVegetableSaveDesc()
std::string fileName= _Vegetables[id].VegetableName + ".vegetdesc"; std::string fileName= _Vegetables[id].VegetableName + ".vegetdesc";
CFileDialog fd(FALSE, "vegetdesc", fileName.c_str(), OFN_OVERWRITEPROMPT, "VegetDescFiles (*.vegetdesc)|*.vegetdesc|All Files (*.*)|*.*||", this) ; CFileDialog fd(FALSE, _T("vegetdesc"), utf8ToTStr(fileName), OFN_OVERWRITEPROMPT, _T("VegetDescFiles (*.vegetdesc)|*.vegetdesc|All Files (*.*)|*.*||"), this) ;
fd.m_ofn.lpstrTitle= "Save Vegetable Descriptor"; fd.m_ofn.lpstrTitle = _T("Save Vegetable Descriptor");
if (fd.DoModal() == IDOK) if (fd.DoModal() == IDOK)
{ {
NLMISC::COFile f; NLMISC::COFile f;
if( f.open((const char*)fd.GetPathName()) ) if( f.open(tStrToUtf8(fd.GetPathName())) )
{ {
try try
{ {
@ -722,13 +722,13 @@ void CVegetableDlg::OnButtonVegetableSaveSet()
buildVegetableSet(vegetSet); buildVegetableSet(vegetSet);
// Then try to save it. // Then try to save it.
CFileDialog fd(FALSE, "vegetset", _LastVegetSetName.c_str(), OFN_OVERWRITEPROMPT, "VegetSetFiles (*.vegetset)|*.vegetset|All Files (*.*)|*.*||", this) ; CFileDialog fd(FALSE, _T("vegetset"), utf8ToTStr(_LastVegetSetName), OFN_OVERWRITEPROMPT, _T("VegetSetFiles (*.vegetset)|*.vegetset|All Files (*.*)|*.*||"), this) ;
fd.m_ofn.lpstrTitle= "Save Vegetable Set"; fd.m_ofn.lpstrTitle = _T("Save Vegetable Set");
if (fd.DoModal() == IDOK) if (fd.DoModal() == IDOK)
{ {
NLMISC::COFile f; NLMISC::COFile f;
if( f.open((const char*)fd.GetPathName()) ) if( f.open(tStrToUtf8(fd.GetPathName())) )
{ {
try try
{ {

View file

@ -33,7 +33,7 @@ void CDirectEditableRangeFloat::init(uint32 x, uint32 y, CWnd *pParent)
CRect rect; CRect rect;
rect.SetRect(x, y+10, x+dx, y+25); rect.SetRect(x, y+10, x+dx, y+25);
_StaticText.Create(_Title.c_str(), WS_CHILD | WS_VISIBLE, rect, pParent); _StaticText.Create(utf8ToTStr(_Title), WS_CHILD | WS_VISIBLE, rect, pParent);
_StaticText.SetFont(pParent->GetFont()); _StaticText.SetFont(pParent->GetFont());
} }

View file

@ -154,7 +154,7 @@ BOOL CVegetableNoiseValueDlg::OnInitDialog()
// Set the name. // Set the name.
NoiseValueName.SetWindowText(_TitleName.c_str()); NoiseValueName.SetWindowText(utf8ToTStr(_TitleName));
// if previously setuped, setup now the noiseValue. // if previously setuped, setup now the noiseValue.
@ -264,7 +264,5 @@ void CVegetableNoiseValueDlg::applyScaleSlider(sint scrollValue)
_RandValue->updateValueFromReader(); _RandValue->updateValueFromReader();
// update marker text // update marker text
char str[256]; StaticScaleMarker.SetWindowText(utf8ToTStr(NLMISC::toString("%d%%", (sint)(factor * 100))));
sprintf(str, "%d%%", (sint)(factor*100));
StaticScaleMarker.SetWindowText(str);
} }

View file

@ -63,7 +63,7 @@ BOOL CVegetableSelectDlg::OnInitDialog()
uint num= _VegetableDlg->getNumVegetables(); uint num= _VegetableDlg->getNumVegetables();
for(uint i=0; i<num; i++) for(uint i=0; i<num; i++)
{ {
VegetableList.AddString(_VegetableDlg->getVegetableName(i).c_str()); VegetableList.AddString(utf8ToTStr(_VegetableDlg->getVegetableName(i)));
} }
return TRUE; // return TRUE unless you set the focus to a control return TRUE; // return TRUE unless you set the focus to a control

View file

@ -70,26 +70,22 @@ END_MESSAGE_MAP()
void CVegetableWindDlg::updateView() void CVegetableWindDlg::updateView()
{ {
float a; float a;
char str[256];
// update Power. // update Power.
a= _ObjViewer->getVegetableWindPower(); a= _ObjViewer->getVegetableWindPower();
sprintf(str, "%.2f", a); StaticPower.SetWindowText(utf8ToTStr(NLMISC::toString("%.2f", a)));
StaticPower.SetWindowText(str);
NLMISC::clamp(a, 0, NL_VEGETABLE_EDIT_WIND_MAX_POWER); NLMISC::clamp(a, 0, NL_VEGETABLE_EDIT_WIND_MAX_POWER);
SliderPower.SetPos((sint)(a*NL_VEGETABLE_EDIT_WIND_SLIDER_RANGE / NL_VEGETABLE_EDIT_WIND_MAX_POWER)); SliderPower.SetPos((sint)(a*NL_VEGETABLE_EDIT_WIND_SLIDER_RANGE / NL_VEGETABLE_EDIT_WIND_MAX_POWER));
// update BendStart. // update BendStart.
a= _ObjViewer->getVegetableWindBendStart(); a= _ObjViewer->getVegetableWindBendStart();
sprintf(str, "%.2f", a); StaticBendStart.SetWindowText(utf8ToTStr(NLMISC::toString("%.2f", a)));
StaticBendStart.SetWindowText(str);
NLMISC::clamp(a, 0, NL_VEGETABLE_EDIT_WIND_MAX_BENDSTART); NLMISC::clamp(a, 0, NL_VEGETABLE_EDIT_WIND_MAX_BENDSTART);
SliderBendStart.SetPos((sint)(a*NL_VEGETABLE_EDIT_WIND_SLIDER_RANGE / NL_VEGETABLE_EDIT_WIND_MAX_BENDSTART)); SliderBendStart.SetPos((sint)(a*NL_VEGETABLE_EDIT_WIND_SLIDER_RANGE / NL_VEGETABLE_EDIT_WIND_MAX_BENDSTART));
// update Frequency. // update Frequency.
a= _ObjViewer->getVegetableWindFrequency(); a= _ObjViewer->getVegetableWindFrequency();
sprintf(str, "%.2f", a); StaticFrequency.SetWindowText(utf8ToTStr(NLMISC::toString("%.2f", a)));
StaticFrequency.SetWindowText(str);
NLMISC::clamp(a, 0, NL_VEGETABLE_EDIT_WIND_MAX_FREQUENCY); NLMISC::clamp(a, 0, NL_VEGETABLE_EDIT_WIND_MAX_FREQUENCY);
SliderFrequency.SetPos((sint)(a*NL_VEGETABLE_EDIT_WIND_SLIDER_RANGE / NL_VEGETABLE_EDIT_WIND_MAX_FREQUENCY)); SliderFrequency.SetPos((sint)(a*NL_VEGETABLE_EDIT_WIND_SLIDER_RANGE / NL_VEGETABLE_EDIT_WIND_MAX_FREQUENCY));
@ -129,28 +125,24 @@ void CVegetableWindDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBa
&& nSBCode==SB_THUMBPOSITION || nSBCode==SB_THUMBTRACK) && nSBCode==SB_THUMBPOSITION || nSBCode==SB_THUMBTRACK)
{ {
float a; float a;
char str[256];
if(sliderCtrl == &SliderPower) if(sliderCtrl == &SliderPower)
{ {
a= (float)nPos * NL_VEGETABLE_EDIT_WIND_MAX_POWER / NL_VEGETABLE_EDIT_WIND_SLIDER_RANGE; a= (float)nPos * NL_VEGETABLE_EDIT_WIND_MAX_POWER / NL_VEGETABLE_EDIT_WIND_SLIDER_RANGE;
_ObjViewer->setVegetableWindPower(a); _ObjViewer->setVegetableWindPower(a);
sprintf(str, "%.2f", a); StaticPower.SetWindowText(utf8ToTStr(NLMISC::toString("%.2f", a)));
StaticPower.SetWindowText(str);
} }
else if(sliderCtrl == &SliderBendStart) else if(sliderCtrl == &SliderBendStart)
{ {
a= (float)nPos * NL_VEGETABLE_EDIT_WIND_MAX_BENDSTART / NL_VEGETABLE_EDIT_WIND_SLIDER_RANGE; a= (float)nPos * NL_VEGETABLE_EDIT_WIND_MAX_BENDSTART / NL_VEGETABLE_EDIT_WIND_SLIDER_RANGE;
_ObjViewer->setVegetableWindBendStart(a); _ObjViewer->setVegetableWindBendStart(a);
sprintf(str, "%.2f", a); StaticBendStart.SetWindowText(utf8ToTStr(NLMISC::toString("%.2f", a)));
StaticBendStart.SetWindowText(str);
} }
else if(sliderCtrl == &SliderFrequency) else if(sliderCtrl == &SliderFrequency)
{ {
a= (float)nPos * NL_VEGETABLE_EDIT_WIND_MAX_FREQUENCY / NL_VEGETABLE_EDIT_WIND_SLIDER_RANGE; a= (float)nPos * NL_VEGETABLE_EDIT_WIND_MAX_FREQUENCY / NL_VEGETABLE_EDIT_WIND_SLIDER_RANGE;
_ObjViewer->setVegetableWindFrequency(a); _ObjViewer->setVegetableWindFrequency(a);
sprintf(str, "%.2f", a); StaticFrequency.SetWindowText(utf8ToTStr(NLMISC::toString("%.2f", a)));
StaticFrequency.SetWindowText(str);
} }
} }
else else

View file

@ -165,9 +165,8 @@ BOOL CWaterPoolEditor::OnInitDialog()
int CWaterPoolEditor::addPool(uint32 ID) int CWaterPoolEditor::addPool(uint32 ID)
{ {
char poolId[128]; std::string poolId = NLMISC::toString("%d (%s)", ID, _Wpm->getPoolByID(ID).getName().c_str());
sprintf(poolId, "%d (%s)", ID, _Wpm->getPoolByID(ID).getName().c_str()); int index = m_PoolList.AddString(utf8ToTStr(poolId));
int index = m_PoolList.AddString(poolId);
nlassert(index != LB_ERR); nlassert(index != LB_ERR);
m_PoolList.SetItemData(index, ID); m_PoolList.SetItemData(index, ID);
return index; return index;
@ -358,7 +357,7 @@ void CWaterPoolEditor::OnLoadPool()
{ {
NLMISC::CIXml iXml; NLMISC::CIXml iXml;
NLMISC::CIFile iF; NLMISC::CIFile iF;
if (iF.open((LPCTSTR) fileDlg.GetPathName())) if (iF.open(tStrToUtf8(fileDlg.GetPathName())))
{ {
if (iXml.init (iF)) if (iXml.init (iF))
{ {
@ -370,17 +369,17 @@ void CWaterPoolEditor::OnLoadPool()
else else
{ {
iF.close(); iF.close();
MessageBox (("Unable to init xml stream from file : " + std::string((LPCTSTR) fileDlg.GetPathName())).c_str(), "NeL object viewer", MB_OK|MB_ICONEXCLAMATION); MessageBox (utf8ToTStr(NLMISC::toString("Unable to init xml stream from file: %s", tStrToUtf8(fileDlg.GetPathName()).c_str())), _T("NeL object viewer"), MB_OK|MB_ICONEXCLAMATION);
} }
} }
else else
{ {
MessageBox (("Unable to open file : " + std::string((LPCTSTR) fileDlg.GetPathName())).c_str(), "NeL object viewer", MB_OK|MB_ICONEXCLAMATION); MessageBox (utf8ToTStr(NLMISC::toString("Unable to open file: %s", tStrToUtf8(fileDlg.GetPathName()).c_str())), _T("NeL object viewer"), MB_OK|MB_ICONEXCLAMATION);
} }
} }
catch (const NLMISC::Exception& e) catch (const NLMISC::Exception& e)
{ {
MessageBox (e.what(), "NeL object viewer", MB_OK|MB_ICONEXCLAMATION); MessageBox (utf8ToTStr(e.what()), _T("NeL object viewer"), MB_OK|MB_ICONEXCLAMATION);
} }
} }
} }
@ -396,7 +395,7 @@ void CWaterPoolEditor::OnSavePool()
{ {
NLMISC::COXml oXml; NLMISC::COXml oXml;
NLMISC::COFile oF; NLMISC::COFile oF;
if (oF.open((LPCTSTR) fileDlg.GetPathName())) if (oF.open(tStrToUtf8(fileDlg.GetPathName())))
{ {
if (oXml.init (&oF)) if (oXml.init (&oF))
{ {
@ -407,17 +406,17 @@ void CWaterPoolEditor::OnSavePool()
else else
{ {
oF.close(); oF.close();
MessageBox (("Unable to init xml stream from file : " + std::string((LPCTSTR) fileDlg.GetPathName())).c_str(), "NeL object viewer", MB_OK|MB_ICONEXCLAMATION); MessageBox (utf8ToTStr(NLMISC::toString("Unable to init xml stream from file: %s", tStrToUtf8(fileDlg.GetPathName()).c_str())), _T("NeL object viewer"), MB_OK|MB_ICONEXCLAMATION);
} }
} }
else else
{ {
MessageBox (("Unable to open file : " + std::string((LPCTSTR) fileDlg.GetPathName())).c_str(), "NeL object viewer", MB_OK|MB_ICONEXCLAMATION); MessageBox (utf8ToTStr(NLMISC::toString("Unable to open file: %s", tStrToUtf8(fileDlg.GetPathName()).c_str())), _T("NeL object viewer"), MB_OK|MB_ICONEXCLAMATION);
} }
} }
catch (const NLMISC::Exception& e) catch (const NLMISC::Exception& e)
{ {
MessageBox (e.what(), "NeL object viewer", MB_OK|MB_ICONEXCLAMATION); MessageBox (utf8ToTStr(e.what()), _T("NeL object viewer"), MB_OK|MB_ICONEXCLAMATION);
} }
} }

View file

@ -325,14 +325,14 @@ static INT_PTR CALLBACK CNelExportDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LP
// Name of the node // Name of the node
char sNodeMsg[256]; char sNodeMsg[256];
nlwarning (sNodeMsg, "Save %s model...", pNode->GetName()); nlwarning (sNodeMsg, "Save %s model...", tStrToUtf8(pNode->GetName()).c_str());
// It is a zone ? // It is a zone ?
if (RPO::isZone (*pNode, time)) if (RPO::isZone (*pNode, time))
{ {
// Save path // Save path
char sSavePath[256]; char sSavePath[256];
strcpy (sSavePath, pNode->GetName()); strcpy (sSavePath, tStrToUtf8(pNode->GetName()).c_str());
// Choose a file to export // Choose a file to export
if (!CExportNel::getScriptAppData (pNode, NEL3D_APPDATA_DONTEXPORT, 0)) if (!CExportNel::getScriptAppData (pNode, NEL3D_APPDATA_DONTEXPORT, 0))
@ -342,24 +342,22 @@ static INT_PTR CALLBACK CNelExportDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LP
if (!theCNelExport.exportZone (sSavePath, *pNode, time)) if (!theCNelExport.exportZone (sSavePath, *pNode, time))
{ {
// Error message // Error message
char sErrorMsg[512]; std::string sErrorMsg = toString("Error exporting the zone %s in the file\n%s", tStrToUtf8(pNode->GetName()).c_str(), sSavePath);
sprintf (sErrorMsg, "Error exporting the zone %s in the file\n%s", pNode->GetName(), sSavePath); MessageBox (hWnd, utf8ToTStr(sErrorMsg), L"NeL export", MB_OK|MB_ICONEXCLAMATION);
MessageBox (hWnd, sErrorMsg, "NeL export", MB_OK|MB_ICONEXCLAMATION);
} }
} }
} }
else if (CExportNel::isVegetable (*pNode, time)) else if (CExportNel::isVegetable (*pNode, time))
{ {
// Save path // Save path
char sSavePath[256]; std::string sSavePath = tStrToUtf8(pNode->GetName());
strcpy (sSavePath, pNode->GetName());
// Choose a file to export // Choose a file to export
if (!CExportNel::getScriptAppData (pNode, NEL3D_APPDATA_DONTEXPORT, 0)) if (!CExportNel::getScriptAppData (pNode, NEL3D_APPDATA_DONTEXPORT, 0))
if (theCNelExport.SelectFileForSave(hWnd, sNodeMsg, vegetableFilter, sSavePath)) if (theCNelExport.SelectFileForSave(hWnd, sNodeMsg, vegetableFilter, sSavePath.c_str()))
{ {
// Export the mesh // Export the mesh
if (!theCNelExport.exportVegetable (sSavePath, *pNode, time)) if (!theCNelExport.exportVegetable (sSavePath.c_str(), *pNode, time))
{ {
// Error message // Error message
char sErrorMsg[512]; char sErrorMsg[512];

View file

@ -99,7 +99,7 @@ bool CNelExport::exportMesh (const char *sPath, INode& node, TimeValue time)
{ {
// Open a file // Open a file
COFile file; COFile file;
if (file.open(tempFileName)) if (file.open(tStrToUtf8(tempFileName)))
{ {
try try
{ {

View file

@ -2338,24 +2338,24 @@ INT_PTR CALLBACK MiscDialogCallback (
currentParam->LigoSymmetry = SendMessage (GetDlgItem (hwndDlg, IDC_LIGO_SYMMETRY), BM_GETCHECK, 0, 0); currentParam->LigoSymmetry = SendMessage (GetDlgItem (hwndDlg, IDC_LIGO_SYMMETRY), BM_GETCHECK, 0, 0);
TCHAR tmp[512]; TCHAR tmp[512];
GetWindowText (GetDlgItem (hwndDlg, IDC_LIGO_ROTATE), tmp, 512); GetWindowText (GetDlgItem (hwndDlg, IDC_LIGO_ROTATE), tmp, 512);
currentParam->LigoRotate = tmp; currentParam->LigoRotate = tStrToUtf8(tmp);
// SWT // SWT
currentParam->SWT = SendMessage (GetDlgItem (hwndDlg, IDC_SWT), BM_GETCHECK, 0, 0); currentParam->SWT = SendMessage (GetDlgItem (hwndDlg, IDC_SWT), BM_GETCHECK, 0, 0);
GetWindowText (GetDlgItem (hwndDlg, IDC_SWT_WEIGHT), tmp, 512); GetWindowText (GetDlgItem (hwndDlg, IDC_SWT_WEIGHT), tmp, 512);
currentParam->SWTWeight = tmp; currentParam->SWTWeight = tStrToUtf8(tmp);
// Radial normals // Radial normals
for (uint smoothGroup=0; smoothGroup<NEL3D_RADIAL_NORMAL_COUNT; smoothGroup++) for (uint smoothGroup=0; smoothGroup<NEL3D_RADIAL_NORMAL_COUNT; smoothGroup++)
{ {
HWND edit = GetDlgItem (hwndDlg, IDC_RADIAL_NORMAL_29+smoothGroup); HWND edit = GetDlgItem (hwndDlg, IDC_RADIAL_NORMAL_29+smoothGroup);
GetWindowText (edit, tmp, 512); GetWindowText (edit, tmp, 512);
currentParam->RadialNormals[smoothGroup]=tmp; currentParam->RadialNormals[smoothGroup] = tStrToUtf8(tmp);
} }
// mesh interfaces // mesh interfaces
GetWindowText (GetDlgItem (hwndDlg, IDC_EDIT_INTERFACE_FILE), tmp, 512); GetWindowText (GetDlgItem (hwndDlg, IDC_EDIT_INTERFACE_FILE), tmp, 512);
currentParam->InterfaceFileName=tmp; currentParam->InterfaceFileName = tStrToUtf8(tmp);
GetWindowText (GetDlgItem (hwndDlg, IDC_EDIT_INTERFACE_THRESHOLD), tmp, 512); GetWindowText (GetDlgItem (hwndDlg, IDC_EDIT_INTERFACE_THRESHOLD), tmp, 512);
if (strlen(tmp) != 0) if (strlen(tmp) != 0)
currentParam->InterfaceThreshold = toFloatMax(tmp); currentParam->InterfaceThreshold = toFloatMax(tmp);
@ -2365,7 +2365,7 @@ INT_PTR CALLBACK MiscDialogCallback (
// Skeleton Scale // Skeleton Scale
currentParam->ExportBoneScale= SendMessage( GetDlgItem(hwndDlg, IDC_EXPORT_BONE_SCALE), BM_GETCHECK, 0, 0); currentParam->ExportBoneScale= SendMessage( GetDlgItem(hwndDlg, IDC_EXPORT_BONE_SCALE), BM_GETCHECK, 0, 0);
GetWindowText (GetDlgItem (hwndDlg, IDC_EXPORT_BONE_SCALE_NAME_EXT), tmp, 512); GetWindowText (GetDlgItem (hwndDlg, IDC_EXPORT_BONE_SCALE_NAME_EXT), tmp, 512);
currentParam->ExportBoneScaleNameExt = wideToUtf8(tmp); currentParam->ExportBoneScaleNameExt = tStrToUtf8(tmp);
// remanence // remanence
currentParam->UseRemanence = SendMessage (GetDlgItem (hwndDlg, IDC_USE_REMANENCE), BM_GETCHECK, 0, 0); currentParam->UseRemanence = SendMessage (GetDlgItem (hwndDlg, IDC_USE_REMANENCE), BM_GETCHECK, 0, 0);
@ -2373,7 +2373,7 @@ INT_PTR CALLBACK MiscDialogCallback (
GetWindowText (GetDlgItem (hwndDlg, IDC_REMANENCE_SLICE_NUMBER), tmp, 512); GetWindowText (GetDlgItem (hwndDlg, IDC_REMANENCE_SLICE_NUMBER), tmp, 512);
uint rsn; uint rsn;
if (sscanf(tmp, "%d", &rsn) == 1) if (NLMISC::fromString(tStrToUtf8(tmp), rsn))
{ {
currentParam->RemanenceSliceNumber = rsn; currentParam->RemanenceSliceNumber = rsn;
} }

View file

@ -367,7 +367,7 @@ void CNelExport::viewMesh (TimeValue time)
INode* pNode=_Ip->GetSelNode (nNode); INode* pNode=_Ip->GetSelNode (nNode);
string sTmp = "Object Name: "; string sTmp = "Object Name: ";
sTmp += pNode->GetName(); sTmp += tStrToUtf8(pNode->GetName());
ProgBar.setLine (0, sTmp); ProgBar.setLine (0, sTmp);
sTmp.clear(); sTmp.clear();
for (uint32 i = 1; i < 10; ++i) for (uint32 i = 1; i < 10; ++i)
@ -412,7 +412,7 @@ void CNelExport::viewMesh (TimeValue time)
if (pShape) if (pShape)
{ {
// Add the shape in the view // Add the shape in the view
uint instance = view->addMesh (pShape, pNode->GetName(), iteSkelShape->second.SkeletonInstance); uint instance = view->addMesh (pShape, tStrToUtf8(pNode->GetName()).c_str(), iteSkelShape->second.SkeletonInstance);
// Add tracks // Add tracks
CAnimation *anim=new CAnimation; CAnimation *anim=new CAnimation;

View file

@ -128,7 +128,7 @@ void SLightBuild::convertFromMaxLight (INode *node,TimeValue tvTime)
if (maxLight->EvalLightState(tvTime, valid, &ls)!=REF_SUCCEED) if (maxLight->EvalLightState(tvTime, valid, &ls)!=REF_SUCCEED)
return; return;
this->Name = node->GetName(); this->Name = tStrToUtf8(node->GetName());
// Retrieve the correct light Group Name // Retrieve the correct light Group Name
this->AnimatedLight = CExportNel::getAnimatedLight (node); this->AnimatedLight = CExportNel::getAnimatedLight (node);
@ -295,7 +295,7 @@ void SLightBuild::convertFromMaxLight (INode *node,TimeValue tvTime)
INode *exclNode = exclusionList[i]; INode *exclNode = exclusionList[i];
if (exclNode) // Crashfix // FIXME: Why is this NULL? if (exclNode) // Crashfix // FIXME: Why is this NULL?
{ {
string tmp = exclNode->GetName(); string tmp = tStrToUtf8(exclNode->GetName());
this->setExclusion.insert(tmp); this->setExclusion.insert(tmp);
} }
} }
@ -1930,7 +1930,7 @@ void supprLightNoInteractOne( vector<SLightBuild> &vLights, CMesh::CMeshBuild* p
{ {
bool bInteract = false; bool bInteract = false;
if( vLights[i].setExclusion.find( node.GetName() ) != vLights[i].setExclusion.end() ) if( vLights[i].setExclusion.find(tStrToUtf8(node.GetName()) ) != vLights[i].setExclusion.end() )
{ {
bInteract = false; bInteract = false;
} }
@ -2005,7 +2005,7 @@ void CExportNel::deleteLM(INode& ZeNode)
string sSaveName; string sSaveName;
sSaveName = _Options.sExportLighting; sSaveName = _Options.sExportLighting;
if( sSaveName[sSaveName.size()-1] != '\\' ) sSaveName += "\\"; if( sSaveName[sSaveName.size()-1] != '\\' ) sSaveName += "\\";
sSaveName += ZeNode.GetName(); sSaveName += tStrToUtf8(ZeNode.GetName());
char tmp[32]; char tmp[32];
sprintf( tmp, "%d", i ); sprintf( tmp, "%d", i );
sSaveName += tmp; sSaveName += tmp;
@ -2276,7 +2276,7 @@ bool CExportNel::calculateLM( CMesh::CMeshBuild *pZeMeshBuild, CMeshBase::CMeshB
{ {
string thetext; string thetext;
thetext = "Warning "; thetext = "Warning ";
thetext += ZeNode.GetName(); thetext += tStrToUtf8(ZeNode.GetName());
thetext = "have all faces NOT mapped (UV2)"; thetext = "have all faces NOT mapped (UV2)";
if (gOptions.FeedBack != NULL) if (gOptions.FeedBack != NULL)
{ {
@ -2325,11 +2325,11 @@ bool CExportNel::calculateLM( CMesh::CMeshBuild *pZeMeshBuild, CMeshBase::CMeshB
{ {
// Make an error message // Make an error message
string sTmp = "Warning : "; string sTmp = "Warning : ";
sTmp += ZeNode.GetName(); sTmp += tStrToUtf8(ZeNode.GetName());
sTmp += " has mapping problem"; sTmp += " has mapping problem";
// Script trace // Script trace
mprintf ((sTmp+"\n").c_str()); mprintf (utf8ToTStr((sTmp+"\n")));
// Feedback is here ? // Feedback is here ?
if (gOptions.FeedBack != NULL) if (gOptions.FeedBack != NULL)
@ -2525,12 +2525,12 @@ bool CExportNel::calculateLM( CMesh::CMeshBuild *pZeMeshBuild, CMeshBase::CMeshB
// Get the name of the max project // Get the name of the max project
char projectName[512]; char projectName[512];
_splitpath (_Ip->GetCurFileName(), NULL, NULL, projectName, NULL); _wsplitpath (_Ip->GetCurFileName(), NULL, NULL, utf8ToTStr(projectName), NULL);
// Add lightmap information in the lightmap log // Add lightmap information in the lightmap log
COFile outputLog; COFile outputLog;
if (outputLightmapLog) if (outputLightmapLog)
createLightmapLog (outputLog, gOptions.sExportLighting.c_str(), projectName, ZeNode.GetName()); createLightmapLog (outputLog, gOptions.sExportLighting.c_str(), projectName, tStrToUtf8(ZeNode.GetName()).c_str());
// Update UV coords to Texture space // Update UV coords to Texture space
PutFaceUV1InTextureCoord( LightMap.w, LightMap.h, AllFaces.begin(), AllFaces.size() ); PutFaceUV1InTextureCoord( LightMap.w, LightMap.h, AllFaces.begin(), AllFaces.size() );
@ -2559,7 +2559,7 @@ bool CExportNel::calculateLM( CMesh::CMeshBuild *pZeMeshBuild, CMeshBase::CMeshB
{ {
CTextureFile *pLightMap = new CTextureFile(); CTextureFile *pLightMap = new CTextureFile();
//string sSaveName = AllMeshBuilds[nNode].second->GetName(); //string sSaveName = AllMeshBuilds[nNode].second->GetName();
string sSaveName = ZeNode.GetName(); string sSaveName = tStrToUtf8(ZeNode.GetName());
char tmp[32]; char tmp[32];
sSaveName += "_"; sSaveName += "_";
sprintf( tmp, "%d", nLightMapNb ); sprintf( tmp, "%d", nLightMapNb );
@ -2632,9 +2632,8 @@ bool CExportNel::calculateLM( CMesh::CMeshBuild *pZeMeshBuild, CMeshBase::CMeshB
{ {
if (gOptions.FeedBack != NULL) if (gOptions.FeedBack != NULL)
{ {
char message[512]; std::string message = toString("Can't write the file %s : %s", sSaveName.c_str(), e.what());
sprintf (message, "Can't write the file %s : %s", sSaveName, e.what()); mprintf (utf8ToTStr(message));
mprintf (message);
} }
} }

View file

@ -113,7 +113,7 @@ void CRTWorld::build (vector<SLightBuild> &AllLights, CVector &trans, bool bExcl
pLAP->create( 64 ); // width of each grid in number of square pLAP->create( 64 ); // width of each grid in number of square
for( j = 0; j < vMB.size(); ++j ) for( j = 0; j < vMB.size(); ++j )
{ {
if (rLight.setExclusion.find (vINode[j]->GetName()) != rLight.setExclusion.end()) if (rLight.setExclusion.find (tStrToUtf8(vINode[j]->GetName())) != rLight.setExclusion.end())
continue; continue;
for (k = 0; k < vMB[j]->Faces.size(); ++k) for (k = 0; k < vMB[j]->Faces.size(); ++k)
@ -142,7 +142,7 @@ void CRTWorld::build (vector<SLightBuild> &AllLights, CVector &trans, bool bExcl
pLAD->create (64, rLight.rDirRadius/64.0f, rLight.Direction); pLAD->create (64, rLight.rDirRadius/64.0f, rLight.Direction);
for( j = 0; j < vMB.size(); ++j ) for( j = 0; j < vMB.size(); ++j )
{ {
if (rLight.setExclusion.find (vINode[j]->GetName()) != rLight.setExclusion.end()) if (rLight.setExclusion.find (tStrToUtf8(vINode[j]->GetName())) != rLight.setExclusion.end())
continue; continue;
for (k = 0; k < vMB[j]->Faces.size(); ++k) for (k = 0; k < vMB[j]->Faces.size(); ++k)

View file

@ -605,7 +605,7 @@ void CExportNel::addMorphTracks (NL3D::CAnimation& animation, INode& node, const
if (pNode == NULL) if (pNode == NULL)
continue; continue;
std::string name = parentName; std::string name = parentName;
name += pNode->GetName(); name += tStrToUtf8(pNode->GetName());
name += "MorphFactor"; name += "MorphFactor";
IParamBlock *pb = (IParamBlock*)(pMorphMod->SubAnim (i+1)); IParamBlock *pb = (IParamBlock*)(pMorphMod->SubAnim (i+1));

View file

@ -73,7 +73,7 @@ CCollisionMeshBuild* CExportNel::createCollisionMeshBuild(std::vector<INode *> &
{ {
// get the mesh name // get the mesh name
uint meshId = rootMeshNames.size(); uint meshId = rootMeshNames.size();
rootMeshNames.push_back(nodes[node]->GetName()); rootMeshNames.push_back(tStrToUtf8(nodes[node]->GetName()));
bool collision = getScriptAppData (nodes[node], NEL3D_APPDATA_COLLISION, 0) != 0; bool collision = getScriptAppData (nodes[node], NEL3D_APPDATA_COLLISION, 0) != 0;
bool exterior = getScriptAppData (nodes[node], NEL3D_APPDATA_COLLISION_EXTERIOR, 0) != 0; bool exterior = getScriptAppData (nodes[node], NEL3D_APPDATA_COLLISION_EXTERIOR, 0) != 0;

View file

@ -1271,7 +1271,7 @@ ITexture* CExportNel::buildATexture (Texmap& texmap, CMaterialDesc &remap3dsTexC
else // standard texture else // standard texture
{ {
srcTex = new CTextureFile; srcTex = new CTextureFile;
std::string mapName = pBitmap->GetMapName(); std::string mapName = tStrToUtf8(pBitmap->GetMapName());
static_cast<CTextureFile *>(srcTex)->setFileName (ConvertTexFileName(mapName, _AbsolutePath)); static_cast<CTextureFile *>(srcTex)->setFileName (ConvertTexFileName(mapName, _AbsolutePath));
} }

View file

@ -266,7 +266,7 @@ NL3D::IShape *CExportNel::buildShape (INode& node, TimeValue time, const TInodeP
std::string nodeName=getScriptAppData (&node, NEL3D_APPDATA_LOD_NAME+lod, ""); std::string nodeName=getScriptAppData (&node, NEL3D_APPDATA_LOD_NAME+lod, "");
// Get the node // Get the node
INode *lodNode=_Ip->GetINodeByName(nodeName.c_str()); INode *lodNode=_Ip->GetINodeByName(utf8ToTStr(nodeName));
if (lodNode) if (lodNode)
{ {
// Index of the lod in the build structure // Index of the lod in the build structure
@ -611,7 +611,7 @@ void CExportNel::buildBaseMeshInterface (NL3D::CMeshBase::CMeshBaseBuild& buildM
continue; continue;
// get factor here ! // get factor here !
buildMesh.DefaultBSFactors.push_back(0.0f); buildMesh.DefaultBSFactors.push_back(0.0f);
std::string sTemp = pNode->GetName(); std::string sTemp = tStrToUtf8(pNode->GetName());
buildMesh.BSNames.push_back (sTemp); buildMesh.BSNames.push_back (sTemp);
} }
@ -1063,9 +1063,8 @@ void CExportNel::buildMeshInterface (TriObject &tri, CMesh::CMeshBuild& buildMes
// Error code ? // Error code ?
if (error!=NoError) if (error!=NoError)
{ {
char msg[512]; std::string msg = toString("%s skin: %s", getName (node).c_str(), ErrorMessage[error]);
sprintf (msg, "%s skin: %s", getName (node).c_str(), ErrorMessage[error]); MessageBoxW (NULL, utf8ToTStr(msg), L"NeL export", MB_OK|MB_ICONEXCLAMATION);
MessageBox (NULL, msg, "NeL export", MB_OK|MB_ICONEXCLAMATION);
} }
else else
{ {
@ -1493,7 +1492,7 @@ void CExportNel::buildMeshMorph (CMesh::CMeshBuild& buildMesh, INode &node, Time
continue; continue;
} }
bs.Name = pNode->GetName(); bs.Name = tStrToUtf8(pNode->GetName());
bool bIsDeltaPos = false; bool bIsDeltaPos = false;
bs.deltaPos.resize (nNbVertVB, CVector::Null); bs.deltaPos.resize (nNbVertVB, CVector::Null);

View file

@ -316,7 +316,7 @@ static void AddNodeToQuadGrid(const NLMISC::CAABBox &delimiter, TNodeFaceQG &des
{ {
if (delimiter.intersect(nodeBBox)) if (delimiter.intersect(nodeBBox))
{ {
nldebug((std::string("Adding ") + node.GetName() + std::string(" to mesh interface quad grid")).c_str()); nldebug("Adding %s to mesh interface quad grid", tStrToUtf8(node.GetName()).c_str());
// add this node tris // add this node tris
ObjectState os = node.EvalWorldState(time); ObjectState os = node.EvalWorldState(time);
Object *obj = os.obj; Object *obj = os.obj;
@ -581,7 +581,7 @@ static bool BuildMeshInterfaces(const char *cMaxFileName, std::vector<CMeshInter
string newName = "NelAutoMergeRenamedTmp" + toString (i); string newName = "NelAutoMergeRenamedTmp" + toString (i);
string originalName = (*lib)[i]->GetName (); string originalName = (*lib)[i]->GetName ();
renameMap.insert (map<string, string>::value_type (newName, originalName)); renameMap.insert (map<string, string>::value_type (newName, originalName));
(*lib)[i]->SetName (newName.c_str ()); (*lib)[i]->SetName (utf8ToTStr(newName));
} }
// Merge the interface project // Merge the interface project
@ -614,7 +614,7 @@ static bool BuildMeshInterfaces(const char *cMaxFileName, std::vector<CMeshInter
string newName = "NelAutoMergeRenamed" + toString (i); string newName = "NelAutoMergeRenamed" + toString (i);
string originalName = (*lib)[i]->GetName (); string originalName = (*lib)[i]->GetName ();
renameMap.insert (map<string, string>::value_type (newName, originalName)); renameMap.insert (map<string, string>::value_type (newName, originalName));
(*lib)[i]->SetName (newName.c_str ()); (*lib)[i]->SetName (utf8ToTStr(newName));
} }
} }
@ -627,7 +627,7 @@ static bool BuildMeshInterfaces(const char *cMaxFileName, std::vector<CMeshInter
if (ite != renameMap.end ()) if (ite != renameMap.end ())
{ {
// Rename the material with its original name // Rename the material with its original name
(*lib)[i]->SetName (ite->second.c_str ()); (*lib)[i]->SetName (utf8ToTStr(ite->second));
} }
} }

View file

@ -265,7 +265,7 @@ Control* CExportNel::getControlerByName (Animatable& node, const char* sName)
ParamDef& paramDef=param->GetParamDef(id); ParamDef& paramDef=param->GetParamDef(id);
// Good name? // Good name?
if (strcmp (paramDef.int_name, sName)==0) if (strcmp (tStrToUtf8(paramDef.int_name).c_str(), sName)==0)
{ {
// ok, return this subanim // ok, return this subanim
#if MAX_VERSION_MAJOR >= 14 #if MAX_VERSION_MAJOR >= 14
@ -332,7 +332,7 @@ bool getValueByNameUsingParamBlock2Internal (Animatable& node, const char* sName
ParamDef& paramDef=param->GetParamDef(id); ParamDef& paramDef=param->GetParamDef(id);
// Good name? // Good name?
if (strcmp (paramDef.int_name, sName)==0) if (strcmp (tStrToUtf8(paramDef.int_name).c_str(), sName)==0)
{ {
// Check this value is good type // Check this value is good type
ParamType2 paramType = param->GetParameterType(id); ParamType2 paramType = param->GetParameterType(id);
@ -372,7 +372,7 @@ bool getValueByNameUsingParamBlock2Internal (Animatable& node, const char* sName
break; break;
case TYPE_FILENAME: case TYPE_FILENAME:
case TYPE_STRING: case TYPE_STRING:
*(std::string*)pValue = param->GetStr (id, tvTime); *(std::string*)pValue = tStrToUtf8(param->GetStr (id, tvTime));
bRes = TRUE; bRes = TRUE;
break; break;
case TYPE_FILENAME_TAB: case TYPE_FILENAME_TAB:
@ -382,7 +382,7 @@ bool getValueByNameUsingParamBlock2Internal (Animatable& node, const char* sName
uint total = param->Count (id); uint total = param->Count (id);
rTab.resize(total); rTab.resize(total);
for( uint i = 0; i < total; ++i ) for( uint i = 0; i < total; ++i )
rTab[i] = param->GetStr (id, tvTime, i); rTab[i] = tStrToUtf8(param->GetStr (id, tvTime, i));
bRes = TRUE; bRes = TRUE;
} }
break; break;
@ -511,8 +511,8 @@ std::string CExportNel::getName (MtlBase& mtl)
std::string CExportNel::getName(INode& node) std::string CExportNel::getName(INode& node)
{ {
// Return its name // Return its name
MCHAR* name = node.GetName(); const MCHAR* name = node.GetName();
return std::string(name); return tStrToUtf8(name);
} }
// -------------------------------------------------- // --------------------------------------------------
@ -549,7 +549,7 @@ std::string CExportNel::getNelObjectName (INode& node)
} }
else else
{ {
return node.GetName(); return tStrToUtf8(node.GetName());
} }
} }
else else
@ -571,19 +571,19 @@ std::string CExportNel::getNelObjectName (INode& node)
} }
else else
{ {
return node.GetName(); return tStrToUtf8(node.GetName());
} }
} }
else else
{ {
// Extract the node name // Extract the node name
return node.GetName(); return tStrToUtf8(node.GetName());
} }
} }
else else
{ {
// Extract the node name // Extract the node name
return node.GetName(); return tStrToUtf8(node.GetName());
} }
} }
} }
@ -763,17 +763,17 @@ bool CExportNel::hasLightMap (INode& node, TimeValue time)
// -------------------------------------------------- // --------------------------------------------------
void CExportNel::outputErrorMessage (const char *message) void CExportNel::outputErrorMessage(const std::string &message)
{ {
if (_ErrorInDialog) if (_ErrorInDialog)
{ {
MessageBox (_Ip->GetMAXHWnd(), message, _ErrorTitle.c_str(), MB_OK|MB_ICONEXCLAMATION); MessageBoxW (_Ip->GetMAXHWnd(), utf8ToTStr(message), utf8ToTStr(_ErrorTitle), MB_OK|MB_ICONEXCLAMATION);
} }
mprintf (message); mprintf (utf8ToTStr(message));
mprintf ("\n"); mprintf (_T("\n"));
nlwarning ("Error in max file %s : ", _Ip->GetCurFilePath()); nlwarning ("Error in max file %s : ", _Ip->GetCurFilePath());
nlwarning (message); nlwarning (message.c_str());
} }
// -------------------------------------------------- // --------------------------------------------------

View file

@ -667,8 +667,8 @@ public:
static void setScriptAppData (Animatable *node, uint32 id, NLMISC::CRGBA val); static void setScriptAppData (Animatable *node, uint32 id, NLMISC::CRGBA val);
// Output error message // Output error message
void outputErrorMessage (const char *message); void outputErrorMessage (const std::string &message);
void outputWarningMessage (const char *message); void outputWarningMessage(const std::string &message);
// Get an appData VertexProgram WindTree (ensure same default values for all retrieve). // Get an appData VertexProgram WindTree (ensure same default values for all retrieve).

View file

@ -51,7 +51,7 @@ IShape* CExportNel::buildParticleSystem(INode& node, TimeValue time)
iF.serial(ss); iF.serial(ss);
if (!dynamic_cast<CParticleSystemShape *>(ss.getShapePointer())) if (!dynamic_cast<CParticleSystemShape *>(ss.getShapePointer()))
{ {
mprintf("Error : Object shape %s isn't a particle system", shapeName.c_str()); mprintf(_T("Error : Object shape %s isn't a particle system"), utf8ToTStr(shapeName));
return NULL; return NULL;
} }
@ -78,7 +78,7 @@ IShape* CExportNel::buildParticleSystem(INode& node, TimeValue time)
} }
else else
{ {
mprintf("Error : Can't find %s while exporting a particle system \n", shapeName.c_str()); mprintf(_T("Error : Can't find %s while exporting a particle system \n"), utf8ToTStr(shapeName));
return NULL; return NULL;
} }
} }

View file

@ -62,7 +62,7 @@ void CRadialVertices::init (INode *node, Mesh *mesh, TimeValue time, Interface &
_SmoothingGroupMask |= (1<<app); _SmoothingGroupMask |= (1<<app);
// Get the node by name // Get the node by name
INode *pivotNode = ip.GetINodeByName(pivotName.c_str()); INode *pivotNode = ip.GetINodeByName(utf8ToTStr(pivotName));
if (pivotNode) if (pivotNode)
{ {
// Get the world Pivot point // Get the world Pivot point

View file

@ -93,7 +93,7 @@ CInstanceGroup* CExportNel::buildInstanceGroup(const vector<INode*>& vectNode, v
resultInstanceNode[nNumIG] = pNode; resultInstanceNode[nNumIG] = pNode;
if (aIGArray[nNumIG].InstanceName == "") // no instance name was set, takes the node name instead if (aIGArray[nNumIG].InstanceName == "") // no instance name was set, takes the node name instead
{ {
aIGArray[nNumIG].InstanceName = pNode->GetName(); aIGArray[nNumIG].InstanceName = tStrToUtf8(pNode->GetName());
} }
// Visible? always true, but if special flag for camera collision // Visible? always true, but if special flag for camera collision
@ -236,10 +236,7 @@ CInstanceGroup* CExportNel::buildInstanceGroup(const vector<INode*>& vectNode, v
pMB->Vertices[pMB->Faces[j].Corner[2].Vertex]) ) pMB->Vertices[pMB->Faces[j].Corner[2].Vertex]) )
{ {
// ERROR : The volume is not convex !!! // ERROR : The volume is not convex !!!
char tam[256]; nlwarning("ERROR: The cluster %s is not convex.", tStrToUtf8(vectNode[i]->GetName()).c_str());
sprintf(tam,"ERROR: The cluster %s is not convex.",vectNode[i]->GetName());
//MessageBox(NULL,tam,"Error",MB_OK|MB_ICONERROR);
nlwarning(tam);
} }
} }
@ -247,7 +244,7 @@ CInstanceGroup* CExportNel::buildInstanceGroup(const vector<INode*>& vectNode, v
clusterTemp.VisibleFromFather = bVisibleFromFather; clusterTemp.VisibleFromFather = bVisibleFromFather;
clusterTemp.FatherAudible = bFatherAudible; clusterTemp.FatherAudible = bFatherAudible;
clusterTemp.AudibleFromFather = bAudibleFromFather; clusterTemp.AudibleFromFather = bAudibleFromFather;
clusterTemp.Name = pNode->GetName(); clusterTemp.Name = tStrToUtf8(pNode->GetName());
vClusters.push_back (clusterTemp); vClusters.push_back (clusterTemp);
delete pMB; pMB = NULL; delete pMB; pMB = NULL;
@ -336,10 +333,7 @@ CInstanceGroup* CExportNel::buildInstanceGroup(const vector<INode*>& vectNode, v
if (!portalTemp.setPoly (polyv)) if (!portalTemp.setPoly (polyv))
{ {
// ERROR : Poly not convex, or set of vertices not plane // ERROR : Poly not convex, or set of vertices not plane
char tam[256]; nlwarning("ERROR: The portal %s is not convex.", tStrToUtf8(vectNode[i]->GetName()).c_str());
sprintf(tam,"ERROR: The portal %s is not convex.",vectNode[i]->GetName());
//MessageBox(NULL,tam,"Error",MB_OK|MB_ICONERROR);
nlwarning(tam);
} }
if (nAccelType&16) // is dynamic portal ? if (nAccelType&16) // is dynamic portal ?
@ -348,7 +342,7 @@ CInstanceGroup* CExportNel::buildInstanceGroup(const vector<INode*>& vectNode, v
if (!InstanceName.empty()) if (!InstanceName.empty())
portalTemp.setName (InstanceName); portalTemp.setName (InstanceName);
else else
portalTemp.setName (string(pNode->GetName())); portalTemp.setName (tStrToUtf8(pNode->GetName()));
} }
// Check if portal has 2 cluster // Check if portal has 2 cluster
@ -368,10 +362,7 @@ CInstanceGroup* CExportNel::buildInstanceGroup(const vector<INode*>& vectNode, v
if (nNbCluster != 2) if (nNbCluster != 2)
{ {
// ERROR // ERROR
char tam[256]; nlwarning("ERROR: The portal %s has not 2 clusters but %d", tStrToUtf8(vectNode[i]->GetName()).c_str(), nNbCluster);
sprintf(tam,"ERROR: The portal %s has not 2 clusters but %d",vectNode[i]->GetName(), nNbCluster);
//MessageBox(NULL,tam,"Error",MB_OK|MB_ICONERROR);
nlwarning(tam);
} }
@ -513,10 +504,7 @@ CInstanceGroup* CExportNel::buildInstanceGroup(const vector<INode*>& vectNode, v
if (vClusters.size() > 0) if (vClusters.size() > 0)
if (aIGArray[nNumIG].Clusters.size() == 0) if (aIGArray[nNumIG].Clusters.size() == 0)
{ {
char tam[256]; nlwarning("ERROR: Object %s is not attached to any cluster\nbut his flag clusterize is set", tStrToUtf8(pNode->GetName()).c_str());
sprintf(tam,"ERROR: Object %s is not attached to any cluster\nbut his flag clusterize is set", pNode->GetName());
//MessageBox(NULL, tam, "Warning", MB_OK);
nlwarning(tam);
} }
// debug purpose : to remove // debug purpose : to remove
@ -712,7 +700,7 @@ void CExportNel::buildScene (NL3D::CScene &scene, NL3D::CShapeBank &shapeBank, I
if ( (!pNode->IsHidden () || buildHidden) && (pNode->Selected () || !onlySelected) ) if ( (!pNode->IsHidden () || buildHidden) && (pNode->Selected () || !onlySelected) )
{ {
string sTmp = "Object Name: "; string sTmp = "Object Name: ";
sTmp += pNode->GetName(); sTmp += tStrToUtf8(pNode->GetName());
if (progress) if (progress)
progress->setLine (0, sTmp); progress->setLine (0, sTmp);
sTmp.clear(); sTmp.clear();

View file

@ -36,7 +36,7 @@ bool CExportNel::scriptEvaluate (const char *script, void *out, TNelScriptValueT
four_typed_value_locals(Parser* parser,Value* code,Value* result,StringStream* source); four_typed_value_locals(Parser* parser,Value* code,Value* result,StringStream* source);
vl.parser = new Parser; vl.parser = new Parser;
vl.source = new StringStream (const_cast<char *>(script)); vl.source = new StringStream (utf8ToTStr(script));
vl.source->log_to(NULL); vl.source->log_to(NULL);
save_current_frames(); save_current_frames();
try try

View file

@ -114,7 +114,7 @@ INode *CExportNel::getNELScaleReferenceNode(INode &node)
{ {
std::string boneScaleName= getName(node) + boneScaleNameExt; std::string boneScaleName= getName(node) + boneScaleNameExt;
// Get the reference node // Get the reference node
referenceNode= _Ip->GetINodeByName(boneScaleName.c_str()); referenceNode= _Ip->GetINodeByName(utf8ToTStr(boneScaleName));
} }
} }
@ -455,7 +455,7 @@ uint CExportNel::buildSkinning (CMesh::CMeshBuild& buildMesh, const TInodePtrInt
nlassert ((uint)ite->second<buildMesh.BonesNames.size()); nlassert ((uint)ite->second<buildMesh.BonesNames.size());
// Names // Names
buildMesh.BonesNames[ite->second] = ite->first->GetName(); buildMesh.BonesNames[ite->second] = tStrToUtf8(ite->first->GetName());
// Next // Next
ite++; ite++;
@ -1306,7 +1306,7 @@ static sint getBoneSide(INode *bone, std::string &mirrorName)
{ {
sint side= 0; sint side= 0;
sint pos; sint pos;
mirrorName= bone->GetName(); mirrorName = tStrToUtf8(bone->GetName());
if((pos= mirrorName.find(" R "))!=std::string::npos) if((pos= mirrorName.find(" R "))!=std::string::npos)
{ {
@ -1335,7 +1335,7 @@ static INode *getMirrorBone(const std::vector<INode*> &skeletonNodes, INode *bon
// find // find
for(uint i=0;i<skeletonNodes.size();i++) for(uint i=0;i<skeletonNodes.size();i++)
{ {
if(mirrorName == skeletonNodes[i]->GetName()) if(mirrorName == tStrToUtf8(skeletonNodes[i]->GetName()))
return skeletonNodes[i]; return skeletonNodes[i];
} }
} }

View file

@ -450,7 +450,7 @@ public:
} }
catch (const NLMISC::EStream& excp) catch (const NLMISC::EStream& excp)
{ {
MessageBox (NULL, excp.what(), "Load error", MB_OK|MB_ICONEXCLAMATION); MessageBox (NULL, utf8ToTStr(excp.what()), _T("Load error"), MB_OK|MB_ICONEXCLAMATION);
} }
} }
return _bank; return _bank;

View file

@ -193,7 +193,7 @@ bool RPatchMesh::exportZone(INode* pNode, PatchMesh* pPM, NL3D::CZone& zone, CZo
} }
catch (const EStream& e) catch (const EStream& e)
{ {
MessageBox (NULL, stream.what(), _T("Error"), MB_OK|MB_ICONEXCLAMATION); MessageBox (NULL, utf8ToTStr(e.what()), _T("Error"), MB_OK|MB_ICONEXCLAMATION);
} }
} }
} }
@ -253,25 +253,22 @@ bool RPatchMesh::exportZone(INode* pNode, PatchMesh* pPM, NL3D::CZone& zone, CZo
if (!patchError.empty()) if (!patchError.empty())
{ {
// Make an error message // Make an error message
char error[2098]; std::string error = "Error: triple edge detected in ";
smprintf (error, 2098, "Error: triple edge detected in ");
// For each error // For each error
set<uint>::iterator ite=patchError.begin(); set<uint>::iterator ite=patchError.begin();
while (ite!=patchError.end()) while (ite!=patchError.end())
{ {
// Sub error message // Sub error message
char subError[512]; error += toString("patch %d ", (*ite)+1);
smprintf (subError, 512, "patch %d ", (*ite)+1);
strcat (error, subError);
// Next error // Next error
ite++; ite++;
} }
// Show the message // Show the message
mprintf (error); mprintf (utf8ToTStr(error));
nlwarning (error); nlwarning (error.c_str());
// Error // Error
return false; return false;
@ -612,7 +609,7 @@ bool RPatchMesh::exportZone(INode* pNode, PatchMesh* pPM, NL3D::CZone& zone, CZo
uint i; uint i;
for (i=0; i<error.Errors.size (); i++) for (i=0; i<error.Errors.size (); i++)
{ {
mprintf (error.Errors[i].c_str ()); mprintf (utf8ToTStr(error.Errors[i]));
} }
return false; return false;
} }

View file

@ -3992,7 +3992,7 @@ void EPM_PaintCMode::DoPaint ()
} }
catch (const EStream& stream) catch (const EStream& stream)
{ {
MessageBox (NULL, stream.what(), "Error", MB_OK|MB_ICONEXCLAMATION); MessageBox (NULL, utf8ToTStr(stream.what()), _T("Error"), MB_OK|MB_ICONEXCLAMATION);
} }
} }
} }

View file

@ -197,7 +197,7 @@ static INT_PTR CALLBACK Tile_utilityDlgProc(HWND hWnd, UINT msg, WPARAM wParam,
ofn.lpTemplateName=0; ofn.lpTemplateName=0;
if (GetOpenFileName(&ofn)) if (GetOpenFileName(&ofn))
{ {
theTile_utility.Load (sPath); theTile_utility.Load (tStrToUtf8(sPath));
theTile_utility.SetLand (theTile_utility.Land); theTile_utility.SetLand (theTile_utility.Land);
theTile_utility.SetupUI (); theTile_utility.SetupUI ();
} }
@ -291,9 +291,8 @@ void Tile_utility::Load (const std::string& path)
CIFile file; CIFile file;
if (!file.open (path)) if (!file.open (path))
{ {
char tmp[1024]; std::string tmp = toString("File not found: %s", path.c_str());
sprintf (tmp, "File not found: %s", path); MessageBox (NULL, utf8ToTStr(tmp), _T("Error.."), MB_OK|MB_ICONEXCLAMATION);
MessageBox (NULL, tmp, "Error..", MB_OK|MB_ICONEXCLAMATION);
} }
else else
{ {
@ -304,9 +303,8 @@ void Tile_utility::Load (const std::string& path)
} }
catch (const EStream &stream) catch (const EStream &stream)
{ {
char tmp[1024]; std::string tmp = toString("Error while loading %s:\n\n%s", path.c_str(), stream.what());
sprintf (tmp, "Error while loading %s:\n\n%s", path, stream.what()); MessageBox (NULL, utf8ToTStr(tmp), _T("Error.."), MB_OK|MB_ICONEXCLAMATION);
MessageBox (NULL, tmp, "Error..", MB_OK|MB_ICONEXCLAMATION);
} }
} }
@ -461,7 +459,7 @@ bool Tile_utility::SetupMaterial () const
tex->SetAlphaSource (ALPHA_NONE); tex->SetAlphaSource (ALPHA_NONE);
tex->SetAlphaAsMono (FALSE); tex->SetAlphaAsMono (FALSE);
tex->SetAlphaAsRGB (FALSE); tex->SetAlphaAsRGB (FALSE);
tex->SetMapName (const_cast<char*>((Bank.getAbsPath()+tile->getRelativeFileName(CTile::diffuse)).c_str())); tex->SetMapName (utf8ToTStr(Bank.getAbsPath() + tile->getRelativeFileName(CTile::diffuse)));
// Assign BitmapTex // Assign BitmapTex
rgb->SetSubTexmap (0, tex); rgb->SetSubTexmap (0, tex);
@ -481,7 +479,7 @@ bool Tile_utility::SetupMaterial () const
tex->SetAlphaSource (ALPHA_NONE); tex->SetAlphaSource (ALPHA_NONE);
tex->SetAlphaAsMono (FALSE); tex->SetAlphaAsMono (FALSE);
tex->SetAlphaAsRGB (FALSE); tex->SetAlphaAsRGB (FALSE);
tex->SetMapName (const_cast<char*>((Bank.getAbsPath()+tile->getRelativeFileName(CTile::additive)).c_str())); tex->SetMapName (utf8ToTStr(Bank.getAbsPath() + tile->getRelativeFileName(CTile::additive)));
// Assign BitmapTex // Assign BitmapTex
rgb->SetSubTexmap (1, tex); rgb->SetSubTexmap (1, tex);

View file

@ -417,9 +417,8 @@ int TileList::setTileTransition (int tile, const std::string& name, NL3D::CTile:
else else
{ {
// Error: bitmap not in the absolute path.. // Error: bitmap not in the absolute path..
char msg[512]; std::string msg = NLMISC::toString("The bitmap %s is not in the absolute path %s.", name.c_str(), tileBank2.getAbsPath ().c_str());
sprintf (msg, "The bitmap %s is not in the absolute path %s.", name.c_str(), tileBank2.getAbsPath ().c_str()); MessageBox (NULL, utf8ToTStr(msg), _T("Load error"), MB_OK|MB_ICONEXCLAMATION);
MessageBox (NULL, msg, "Load error", MB_OK|MB_ICONEXCLAMATION);
} }
return 1; return 1;

View file

@ -68,8 +68,8 @@ void CChooseVegetSet::OnBrowse()
if (dialog.DoModal() == IDOK) if (dialog.DoModal() == IDOK)
{ {
// Get the file name // Get the file name
FileName = dialog.GetFileName (); FileName = tStrToUtf8(dialog.GetFileName ());
Name.SetWindowText (FileName.c_str()); Name.SetWindowText (utf8ToTStr(FileName));
} }
} }

View file

@ -193,7 +193,7 @@ void CDfnDialog::getFromDocument (const NLGEORGES::CFormDfn &dfn)
for (parent=0; parent<dfn.getNumParent (); parent++) for (parent=0; parent<dfn.getNumParent (); parent++)
{ {
// Add the label and value // Add the label and value
Parents.ListCtrl.InsertItem (parent, dfn.getParentFilename (parent).c_str ()); Parents.ListCtrl.InsertItem (parent, utf8ToTStr(dfn.getParentFilename (parent)));
} }
// Add the struct element // Add the struct element
@ -202,12 +202,12 @@ void CDfnDialog::getFromDocument (const NLGEORGES::CFormDfn &dfn)
for (elm=0; elm<dfn.getNumEntry (); elm++) for (elm=0; elm<dfn.getNumEntry (); elm++)
{ {
// Add the label and value // Add the label and value
Struct.ListCtrl.InsertItem (elm, dfn.getEntry (elm).getName ().c_str()); Struct.ListCtrl.InsertItem (elm, utf8ToTStr(dfn.getEntry (elm).getName()));
switch (elm, dfn.getEntry (elm).getType ()) switch (elm, dfn.getEntry (elm).getType ())
{ {
case UFormDfn::EntryType: case UFormDfn::EntryType:
Struct.ListCtrl.SetItemText (elm, 1, dfn.getEntry (elm).getArrayFlag () ? "Type array" : "Type"); Struct.ListCtrl.SetItemText (elm, 1, dfn.getEntry (elm).getArrayFlag () ? _T("Type array") : _T("Type"));
Struct.ListCtrl.SetItemText (elm, 4, dfn.getEntry (elm).getFilenameExt ().c_str()); Struct.ListCtrl.SetItemText (elm, 4, utf8ToTStr(dfn.getEntry (elm).getFilenameExt ()));
break; break;
case UFormDfn::EntryDfn: case UFormDfn::EntryDfn:
Struct.ListCtrl.SetItemText (elm, 1, dfn.getEntry (elm).getArrayFlag () ? _T("Dfn array") : _T("Dfn")); Struct.ListCtrl.SetItemText (elm, 1, dfn.getEntry (elm).getArrayFlag () ? _T("Dfn array") : _T("Dfn"));
@ -216,8 +216,8 @@ void CDfnDialog::getFromDocument (const NLGEORGES::CFormDfn &dfn)
Struct.ListCtrl.SetItemText (elm, 1, _T("Virtual Dfn")); Struct.ListCtrl.SetItemText (elm, 1, _T("Virtual Dfn"));
break; break;
} }
Struct.ListCtrl.SetItemText (elm, 2, dfn.getEntry (elm).getFilename ().c_str()); Struct.ListCtrl.SetItemText (elm, 2, utf8ToTStr(dfn.getEntry (elm).getFilename()));
Struct.ListCtrl.SetItemText (elm, 3, dfn.getEntry (elm).getDefault ().c_str()); Struct.ListCtrl.SetItemText (elm, 3, utf8ToTStr(dfn.getEntry (elm).getDefault()));
} }
} }
} }
@ -238,7 +238,7 @@ void CDfnDialog::setParentsToDocument ()
{ {
// Add the label and value // Add the label and value
CString str = Parents.ListCtrl.GetItemText ( parent, 0); CString str = Parents.ListCtrl.GetItemText ( parent, 0);
vectValue[parent] = str; vectValue[parent] = tStrToUtf8(str);
} }
// Modify the document // Modify the document
@ -267,7 +267,7 @@ void CDfnDialog::setStructToDocument ()
{ {
// Get the name // Get the name
CString name= Struct.ListCtrl.GetItemText (elm, subElm); CString name= Struct.ListCtrl.GetItemText (elm, subElm);
stringVector[elm][subElm] = (const char*)name; stringVector[elm][subElm] = tStrToUtf8(name);
} }
} }
doc->modify (new CActionStringVectorVector (IAction::DfnStructure, stringVector, *doc, doc->getLeftView ()->getCurrentSelectionId (), 0)); doc->modify (new CActionStringVectorVector (IAction::DfnStructure, stringVector, *doc, doc->getLeftView ()->getCurrentSelectionId (), 0));
@ -301,19 +301,19 @@ CEditListCtrl::TItemEdit CDfnEditListCtrl::getItemEditMode (uint item, uint subI
return CEditListCtrl::EditFixedCombo; return CEditListCtrl::EditFixedCombo;
else if (subItem == 2) else if (subItem == 2)
{ {
string type = ListCtrl.GetItemText (item, 1); string type = tStrToUtf8(ListCtrl.GetItemText (item, 1));
if (type != "Virtual Dfn") if (type != "Virtual Dfn")
return CEditListCtrl::EditMemCombo; return CEditListCtrl::EditMemCombo;
} }
else if (subItem == 3) else if (subItem == 3)
{ {
string type = ListCtrl.GetItemText (item, 1); string type = tStrToUtf8(ListCtrl.GetItemText (item, 1));
if ((type == "Type") || (type == "Type array")) if ((type == "Type") || (type == "Type array"))
return CEditListCtrl::EditMemCombo; return CEditListCtrl::EditMemCombo;
} }
else if (subItem == 4) else if (subItem == 4)
{ {
string type = ListCtrl.GetItemText (item, 1); string type = tStrToUtf8(ListCtrl.GetItemText (item, 1));
if ((type == "Type") || (type == "Type array")) if ((type == "Type") || (type == "Type array"))
return CEditListCtrl::EditMemCombo; return CEditListCtrl::EditMemCombo;
} }
@ -349,7 +349,7 @@ void CDfnEditListCtrl::getMemComboBoxProp (uint item, uint subItem, std::string
browse = true; browse = true;
// Get type string // Get type string
string type = ListCtrl.GetItemText (item, 1); string type = tStrToUtf8(ListCtrl.GetItemText (item, 1));
if ((type == "Type") || (type == "Type array")) if ((type == "Type") || (type == "Type array"))
regAdr = GEORGES_EDIT_BASE_REG_KEY"\\Type MemCombo"; regAdr = GEORGES_EDIT_BASE_REG_KEY"\\Type MemCombo";
else if ((type == "Dfn") || (type == "Dfn array")) else if ((type == "Dfn") || (type == "Dfn array"))
@ -390,7 +390,7 @@ void CDfnEditListCtrl::getBrowseInfo (uint item, uint subItem, std::string &defE
if (subItem == 2) if (subItem == 2)
{ {
// Get type string // Get type string
string type = ListCtrl.GetItemText (item, 1); string type = tStrToUtf8(ListCtrl.GetItemText (item, 1));
if ((type == "Type") || (type == "Type array")) if ((type == "Type") || (type == "Type array"))
{ {
filter = TypeFilter; filter = TypeFilter;
@ -415,7 +415,7 @@ void CDfnEditListCtrl::onItemChanged (uint item, uint subItem)
if (subItem == 1) if (subItem == 1)
{ {
// Get type string // Get type string
string type = ListCtrl.GetItemText (item, 1); string type = tStrToUtf8(ListCtrl.GetItemText (item, 1));
if ((type == "Type") || (type == "Type array")) if ((type == "Type") || (type == "Type array"))
{ {
CString str; CString str;
@ -470,16 +470,16 @@ void CDfnDialog::onOpenSelected ()
int nItem = Parents.ListCtrl.GetNextSelectedItem(pos); int nItem = Parents.ListCtrl.GetNextSelectedItem(pos);
// Get the string // Get the string
CString str = Parents.ListCtrl.GetItemText (nItem, 0); std::string str = tStrToUtf8(Parents.ListCtrl.GetItemText (nItem, 0));
if (str != "") if (!str.empty())
{ {
// Look for the file // Look for the file
string name = CPath::lookup ((const char*)str, false, false); string name = CPath::lookup (str, false, false);
if (name.empty ()) if (name.empty ())
name = str; name = str;
// Open the file // Open the file
theApp.OpenDocumentFile (name.c_str ()); theApp.OpenDocumentFile (utf8ToTStr(name));
} }
} }
} }
@ -492,16 +492,16 @@ void CDfnDialog::onOpenSelected ()
int nItem = Struct.ListCtrl.GetNextSelectedItem(pos); int nItem = Struct.ListCtrl.GetNextSelectedItem(pos);
// Get the string // Get the string
CString str = Struct.ListCtrl.GetItemText (nItem, 2); std::string str = tStrToUtf8(Struct.ListCtrl.GetItemText (nItem, 2));
if (str != "") if (!str.empty())
{ {
// Look for the file // Look for the file
string name = CPath::lookup ((const char*)str, false, false); string name = CPath::lookup (str, false, false);
if (name.empty ()) if (name.empty ())
name = str; name = str;
// Open the file // Open the file
theApp.OpenDocumentFile (name.c_str ()); theApp.OpenDocumentFile (utf8ToTStr(name));
} }
} }
} }

View file

@ -477,9 +477,9 @@ void CGeorgesEditApp::OnAppAbout()
void CGeorgesEditApp::outputError (const char* message) void CGeorgesEditApp::outputError (const char* message)
{ {
if (m_pMainWnd) if (m_pMainWnd)
m_pMainWnd->MessageBox (message, "Georges Edit", MB_OK|MB_ICONEXCLAMATION); m_pMainWnd->MessageBox (utf8ToTStr(message), _T("Georges Edit"), MB_OK|MB_ICONEXCLAMATION);
else else
MessageBox (NULL, message, "Georges Edit", MB_OK|MB_ICONEXCLAMATION); MessageBox (NULL, utf8ToTStr(message), _T("Georges Edit"), MB_OK|MB_ICONEXCLAMATION);
} }
void CGeorgesEditApp::getConfigFilePath (std::string &output) void CGeorgesEditApp::getConfigFilePath (std::string &output)

View file

@ -699,7 +699,7 @@ void CMissionCompilerFeDlg::OnSpecialRuncompilertest()
{ {
string msg = "In primitive "; string msg = "In primitive ";
msg += buildPrimPath(e.Primitive) + ": " + e.Why; msg += buildPrimPath(e.Primitive) + ": " + e.Why;
AfxMessageBox(msg.c_str()); AfxMessageBox(utf8ToTStr(msg));
} }
} }

View file

@ -130,7 +130,7 @@ bool CDataBase::init (const string &Path, CZoneBank &zb)
string sDirBackup = NLMISC::CPath::getCurrentPath(); string sDirBackup = NLMISC::CPath::getCurrentPath();
// "Path" can be relative to the doc path so we have to be first in the doc path // "Path" can be relative to the doc path so we have to be first in the doc path
string s2 = NLMISC::CFile::getPath ((LPCTSTR)getMainFrame()->getDocument()->GetPathName()); string s2 = NLMISC::CFile::getPath (tStrToUtf8(getMainFrame()->getDocument()->GetPathName()));
NLMISC::CPath::setCurrentPath(s2.c_str()); NLMISC::CPath::setCurrentPath(s2.c_str());
string ss = NLMISC::CPath::getFullPath(Path); string ss = NLMISC::CPath::getFullPath(Path);
NLMISC::CPath::setCurrentPath (ss.c_str()); NLMISC::CPath::setCurrentPath (ss.c_str());
@ -622,8 +622,8 @@ bool CBuilderZone::refresh ()
if (!_ZoneRegions[_ZoneRegionSelected]->init (&_ZoneBank, this, error)) if (!_ZoneRegions[_ZoneRegionSelected]->init (&_ZoneBank, this, error))
{ {
unload (_ZoneRegionSelected); unload (_ZoneRegionSelected);
MessageBox (NULL, ("Cannot add this zone :\n"+error).c_str(), std::string msg = NLMISC::toString("Cannot add this zone :\n%s", error.c_str());
"Error", MB_ICONERROR|MB_OK); MessageBox (NULL, utf8ToTStr(msg), _T("Error"), MB_ICONERROR|MB_OK);
return false; return false;
} }
@ -1601,7 +1601,7 @@ bool CBuilderZone::initZoneBank (const string &sPathName)
// TODO: replace by NeL methods // TODO: replace by NeL methods
TCHAR sDirBackup[512]; TCHAR sDirBackup[512];
GetCurrentDirectory (512, sDirBackup); GetCurrentDirectory (512, sDirBackup);
SetCurrentDirectory (sPathName.c_str()); SetCurrentDirectory (utf8ToTStr(sPathName));
WIN32_FIND_DATA findData; WIN32_FIND_DATA findData;
HANDLE hFind; HANDLE hFind;
hFind = FindFirstFile (_T("*.ligozone"), &findData); hFind = FindFirstFile (_T("*.ligozone"), &findData);
@ -1612,7 +1612,7 @@ bool CBuilderZone::initZoneBank (const string &sPathName)
if (!((_tcscmp (findData.cFileName, _T(".")) == 0) || (_tcscmp (findData.cFileName, _T("..")) == 0))) if (!((_tcscmp (findData.cFileName, _T(".")) == 0) || (_tcscmp (findData.cFileName, _T("..")) == 0)))
{ {
string error; string error;
if (!_ZoneBank.addElement (findData.cFileName, error)) if (!_ZoneBank.addElement (tStrToUtf8(findData.cFileName), error))
theApp.errorMessage (error.c_str()); theApp.errorMessage (error.c_str());
} }
if (FindNextFile (hFind, &findData) == 0) if (FindNextFile (hFind, &findData) == 0)

View file

@ -37,9 +37,9 @@ CFileDialogEx::CFileDialogEx(LPCTSTR lpszRegistryPath, LPCTSTR lpszFileType,BOOL
LPCTSTR lpszDefExt, LPCTSTR lpszFileName, DWORD dwFlags, LPCTSTR lpszFilter, CWnd* pParentWnd) : LPCTSTR lpszDefExt, LPCTSTR lpszFileName, DWORD dwFlags, LPCTSTR lpszFilter, CWnd* pParentWnd) :
CFileDialog(bOpenFileDialog, lpszDefExt, lpszFileName, dwFlags, lpszFilter, pParentWnd) CFileDialog(bOpenFileDialog, lpszDefExt, lpszFileName, dwFlags, lpszFilter, pParentWnd)
{ {
_RegistryPath = lpszRegistryPath; _RegistryPath = tStrToUtf8(lpszRegistryPath);
_RegistryPath += "\\CFileDialogEx"; _RegistryPath += "\\CFileDialogEx";
_FileType = lpszFileType; _FileType = tStrToUtf8(lpszFileType);
} }
// *************************************************************************** // ***************************************************************************
@ -58,10 +58,10 @@ INT_PTR CFileDialogEx::DoModal ()
path[0] = 0; path[0] = 0;
HKEY hKey; HKEY hKey;
DWORD type = REG_SZ; DWORD type = REG_SZ;
DWORD size = 512; DWORD size = 512 * sizeof(TCHAR);
if (RegCreateKey (HKEY_CURRENT_USER, _RegistryPath.c_str (), &hKey) == ERROR_SUCCESS) if (RegCreateKey (HKEY_CURRENT_USER, utf8ToTStr(_RegistryPath), &hKey) == ERROR_SUCCESS)
{ {
if (RegQueryValueEx (hKey, _FileType.c_str (), 0, &type, (LPBYTE)path, &size) == ERROR_SUCCESS) if (RegQueryValueEx (hKey, utf8ToTStr(_FileType), 0, &type, (LPBYTE)path, &size) == ERROR_SUCCESS)
m_ofn.lpstrInitialDir = path; m_ofn.lpstrInitialDir = path;
} }
@ -73,9 +73,9 @@ INT_PTR CFileDialogEx::DoModal ()
if ((result = CFileDialog::DoModal ()) == IDOK) if ((result = CFileDialog::DoModal ()) == IDOK)
{ {
// Update the path // Update the path
std::string newPath = (const char *)GetPathName (); std::string newPath = tStrToUtf8(GetPathName ());
newPath = NLMISC::CFile::getPath (newPath); newPath = NLMISC::CFile::getPath (newPath);
RegSetValueEx (hKey, _FileType.c_str (), 0, REG_SZ, (LPBYTE)newPath.c_str (), newPath.size ()+1); RegSetValueEx (hKey, utf8ToTStr(_FileType), 0, REG_SZ, (LPBYTE)newPath.c_str (), newPath.size ()+1);
// Update the path list // Update the path list
set<string> oldPath; set<string> oldPath;
@ -83,15 +83,15 @@ INT_PTR CFileDialogEx::DoModal ()
for (i=0; i<PATH_REMEBERED_SIZE; i++) for (i=0; i<PATH_REMEBERED_SIZE; i++)
{ {
size = 512; size = 512;
if (RegQueryValueEx (hKey, toString (i).c_str (), 0, &type, (LPBYTE)path, &size) == ERROR_SUCCESS) if (RegQueryValueEx (hKey, utf8ToTStr(toString(i)), 0, &type, (LPBYTE)path, &size) == ERROR_SUCCESS)
oldPath.insert (path); oldPath.insert (tStrToUtf8(path));
} }
oldPath.insert (newPath); oldPath.insert (newPath);
set<string>::const_iterator ite = oldPath.begin (); set<string>::const_iterator ite = oldPath.begin ();
uint index = 0; uint index = 0;
while (ite != oldPath.end ()) while (ite != oldPath.end ())
{ {
RegSetValueEx (hKey, toString (index).c_str (), 0, REG_SZ, (LPBYTE)ite->c_str (), ite->size ()+1); RegSetValueEx (hKey, utf8ToTStr(toString(index)), 0, REG_SZ, (LPBYTE)ite->c_str (), ite->size ()+1);
ite++; ite++;
index++; index++;
} }
@ -153,13 +153,13 @@ BOOL CFileDialogEx::OnInitDialog()
HKEY hKey; HKEY hKey;
DWORD type = REG_SZ; DWORD type = REG_SZ;
DWORD size; DWORD size;
if (RegCreateKey (HKEY_CURRENT_USER, _RegistryPath.c_str (), &hKey) == ERROR_SUCCESS) if (RegCreateKey (HKEY_CURRENT_USER, utf8ToTStr(_RegistryPath), &hKey) == ERROR_SUCCESS)
{ {
uint i; uint i;
for (i=0; i<PATH_REMEBERED_SIZE; i++) for (i=0; i<PATH_REMEBERED_SIZE; i++)
{ {
size = 512; size = 512 * sizeof(TCHAR);
if (RegQueryValueEx (hKey, toString (i).c_str (), 0, &type, (LPBYTE)text, &size) == ERROR_SUCCESS) if (RegQueryValueEx (hKey, utf8ToTStr(toString(i)), 0, &type, (LPBYTE)text, &size) == ERROR_SUCCESS)
combo.InsertString (-1, text); combo.InsertString (-1, text);
} }
if (m_ofn.lpstrInitialDir) if (m_ofn.lpstrInitialDir)

View file

@ -248,8 +248,8 @@ void CNameDlg::OnBtnAssign()
// get strings // get strings
ucstring id; ucstring id;
std::string gn = m_assignGn; std::string gn = tStrToUtf8(m_assignGn);
std::string ig = m_assignIg; std::string ig = tStrToUtf8(m_assignIg);
for (uint i=0 ; i<sel.size() ; i++) for (uint i=0 ; i<sel.size() ; i++)
{ {
@ -265,7 +265,7 @@ void CNameDlg::OnBtnAssign()
uint n = m_idList.GetTextLen(i); uint n = m_idList.GetTextLen(i);
m_idList.GetText(i, str.GetBuffer(n)); m_idList.GetText(i, str.GetBuffer(n));
str.ReleaseBuffer(); str.ReleaseBuffer();
id = str; id.fromUtf8(tStrToUtf8(str));
} }
// assign name to selected id // assign name to selected id

View file

@ -172,7 +172,7 @@ void CGraphPlugin::refreshPrimitives()
{ {
string msg("Can't write script file '"); string msg("Can't write script file '");
msg += tmpPath+"/lang.dot'"; msg += tmpPath+"/lang.dot'";
AfxMessageBox(msg.c_str()); AfxMessageBox(utf8ToTStr(msg));
} }
else else
{ {
@ -207,11 +207,11 @@ void CGraphPlugin::refreshPrimitives()
err = toString("%s : %s", primName.c_str(), e.Why.c_str()); err = toString("%s : %s", primName.c_str(), e.Why.c_str());
} }
AfxMessageBox(err.c_str()); AfxMessageBox(utf8ToTStr(err));
} }
catch (const exception &e) //catch a possible exception from getRootFileName catch (const exception &e) //catch a possible exception from getRootFileName
{ {
AfxMessageBox(e.what()); AfxMessageBox(utf8ToTStr(e.what()));
} }
} }
else else
@ -254,7 +254,7 @@ void CGraphPlugin::refreshMachine()
{ {
string msg("Can't write script file '"); string msg("Can't write script file '");
msg += tmpPath+"/lang.dot'"; msg += tmpPath+"/lang.dot'";
AfxMessageBox(msg.c_str()); AfxMessageBox(utf8ToTStr(msg));
} }
else else
{ {
@ -298,7 +298,7 @@ void CGraphPlugin::refreshMachine()
{ {
string msg("Can't write script file '"); string msg("Can't write script file '");
msg += tmpPath+"/lang.dot'"; msg += tmpPath+"/lang.dot'";
AfxMessageBox(msg.c_str()); AfxMessageBox(utf8ToTStr(msg));
} }
else else
{ {
@ -938,9 +938,10 @@ void CGraphPlugin::doSelection(const string& primPath)
selectPrimByPath(rootNode,primPath,resSet); selectPrimByPath(rootNode,primPath,resSet);
_PluginAccess->setCurrentSelection(resSet); _PluginAccess->setCurrentSelection(resSet);
}
}catch(const exception &e){ catch(const exception &e)
GraphDlg->MessageBox(e.what()); {
GraphDlg->MessageBox(utf8ToTStr(e.what()));
} }
} }
} }

View file

@ -301,7 +301,7 @@ void CDialogFlags::setCurrentEntityDisplayMode(TEntityDisplayMode edm)
void CDialogFlags::loadEntityDisplayInfoToRegistry(TEntityDisplayInfoVect &infos, const std::string &regId) void CDialogFlags::loadEntityDisplayInfoToRegistry(TEntityDisplayInfoVect &infos, const std::string &regId)
{ {
HKEY hKey; HKEY hKey;
if (RegOpenKeyEx(HKEY_CURRENT_USER, (REGKEY_ENTITY_DISPLAY_INFO + regId).c_str(), 0, KEY_QUERY_VALUE, &hKey) == ERROR_SUCCESS) if (RegOpenKeyEx(HKEY_CURRENT_USER, utf8ToTStr(tStrToUtf8(REGKEY_ENTITY_DISPLAY_INFO) + regId), 0, KEY_QUERY_VALUE, &hKey) == ERROR_SUCCESS)
{ {
DWORD index = 0; DWORD index = 0;
for(;;) for(;;)
@ -338,14 +338,14 @@ void CDialogFlags::loadEntityDisplayInfoToRegistry(TEntityDisplayInfoVect &infos
void CDialogFlags::saveEntityDisplayInfoToRegistry(const TEntityDisplayInfoVect &infos, const std::string &regId) void CDialogFlags::saveEntityDisplayInfoToRegistry(const TEntityDisplayInfoVect &infos, const std::string &regId)
{ {
HKEY hKey; HKEY hKey;
if (RegCreateKeyEx(HKEY_CURRENT_USER, (REGKEY_ENTITY_DISPLAY_INFO + regId).c_str(), 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hKey, NULL) == ERROR_SUCCESS) if (RegCreateKeyEx(HKEY_CURRENT_USER, utf8ToTStr(tStrToUtf8(REGKEY_ENTITY_DISPLAY_INFO) + regId), 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hKey, NULL) == ERROR_SUCCESS)
{ {
for(uint k = 0; k < infos.size(); ++k) for(uint k = 0; k < infos.size(); ++k)
{ {
char colorStr[128]; char colorStr[128];
CRGBA color = infos[k].Color; CRGBA color = infos[k].Color;
sprintf(colorStr, "%d, %d, %d, visible = %d", (int) color.R, (int) color.G, (int) color.B, (int) (infos[k].Visible ? 1 : 0)); sprintf(colorStr, "%d, %d, %d, visible = %d", (int) color.R, (int) color.G, (int) color.B, (int) (infos[k].Visible ? 1 : 0));
LONG result = RegSetValueEx(hKey, toString((int) infos[k].Value).c_str(), 0, REG_SZ, (const BYTE *) colorStr, strlen(colorStr)); LONG result = RegSetValueEx(hKey, utf8ToTStr(toString(infos[k].Value)), 0, REG_SZ, (const BYTE *) colorStr, strlen(colorStr));
if (result != ERROR_SUCCESS) if (result != ERROR_SUCCESS)
{ {
nlwarning("Couldn't write registry key for entity % color", infos[k].Name); nlwarning("Couldn't write registry key for entity % color", infos[k].Name);

View file

@ -47,7 +47,7 @@ void CMemoryComboBox::create (DWORD style, const RECT &rect, CWnd *parent, UINT
{ {
// Register a window // Register a window
Id = nId; Id = nId;
RegisterAdress = registerAdress; RegisterAdress = tStrToUtf8(registerAdress);
MemoryCount = memoryCount; MemoryCount = memoryCount;
LPCTSTR clas = AfxRegisterWndClass (0); LPCTSTR clas = AfxRegisterWndClass (0);
if (clas) if (clas)
@ -95,16 +95,16 @@ bool CMemoryComboBox::getMemory (int slot, std::string &ret)
{ {
// Open the key // Open the key
HKEY hKey; HKEY hKey;
if (RegOpenKey (HKEY_CURRENT_USER, RegisterAdress.c_str (), &hKey) == ERROR_SUCCESS) if (RegOpenKey (HKEY_CURRENT_USER, utf8ToTStr(RegisterAdress), &hKey) == ERROR_SUCCESS)
{ {
// Get the value // Get the value
char strSrc[512]; char strSrc[512];
smprintf (strSrc, 512, "%d", slot); smprintf (strSrc, 512, "%d", slot);
char str[512]; TCHAR str[512];
long size = 512; long size = 512*sizeof(TCHAR);
if (RegQueryValue (hKey, strSrc, str, &size) == ERROR_SUCCESS) if (RegQueryValue (hKey, utf8ToTStr(strSrc), str, &size) == ERROR_SUCCESS)
{ {
ret = str; ret = tStrToUtf8(str);
// Close // Close
RegCloseKey (hKey); RegCloseKey (hKey);
@ -124,7 +124,7 @@ void CMemoryComboBox::scrollDown (int start, int end)
{ {
// Open the key // Open the key
HKEY hKey; HKEY hKey;
if (RegCreateKey (HKEY_CURRENT_USER, RegisterAdress.c_str (), &hKey) == ERROR_SUCCESS) if (RegCreateKey (HKEY_CURRENT_USER, utf8ToTStr(RegisterAdress), &hKey) == ERROR_SUCCESS)
{ {
// Scroll down the list // Scroll down the list
for (int i=end-1; i>start; i--) for (int i=end-1; i>start; i--)
@ -132,14 +132,14 @@ void CMemoryComboBox::scrollDown (int start, int end)
// Get the old value // Get the old value
char strSrc[512]; char strSrc[512];
smprintf (strSrc, 512, "%d", i-1); smprintf (strSrc, 512, "%d", i-1);
char str[512]; TCHAR str[512];
long size = 512; long size = 512 * sizeof(TCHAR);
if (RegQueryValue (hKey, strSrc, str, &size) == ERROR_SUCCESS) if (RegQueryValue (hKey, utf8ToTStr(strSrc), str, &size) == ERROR_SUCCESS)
{ {
// Set the value // Set the value
char strDst[512]; char strDst[512];
smprintf (strDst, 512, "%d", i); smprintf (strDst, 512, "%d", i);
RegSetValue (hKey, strDst, REG_SZ, str, size); RegSetValue (hKey, utf8ToTStr(strDst), REG_SZ, str, size);
} }
} }
@ -154,10 +154,10 @@ void CMemoryComboBox::writeStringInRegistry (const std::string &str)
{ {
// Open the key // Open the key
HKEY hKey; HKEY hKey;
if (RegCreateKey (HKEY_CURRENT_USER, RegisterAdress.c_str (), &hKey) == ERROR_SUCCESS) if (RegCreateKey (HKEY_CURRENT_USER, utf8ToTStr(RegisterAdress), &hKey) == ERROR_SUCCESS)
{ {
// Set the value // Set the value
RegSetValue (hKey, "0", REG_SZ, str.c_str (), str.size ()); RegSetValue (hKey, _T("0"), REG_SZ, utf8ToTStr(str), str.size ());
// Close // Close
RegCloseKey (hKey); RegCloseKey (hKey);
@ -364,7 +364,7 @@ void CMemoryComboBox::pushString ()
{ {
CString str; CString str;
GetWindowText (str); GetWindowText (str);
pushString((LPCTSTR) str); pushString(tStrToUtf8(str));
} }
@ -428,7 +428,7 @@ void CMemoryComboBox::pushString (const std::string &str)
if (i == (int)(itemCount+Commands.size()+ StaticStrings.size())) if (i == (int)(itemCount+Commands.size()+ StaticStrings.size()))
{ {
// Insert the sting // Insert the sting
_ComboBox.InsertString (Commands.size()+ StaticStrings.size(), str.c_str()); _ComboBox.InsertString (Commands.size()+ StaticStrings.size(), utf8ToTStr(str));
} }
} }
} }
@ -449,7 +449,7 @@ void CMemoryComboBox::refreshStrings ()
int count = Commands.size(); int count = Commands.size();
for (i=0; i<StaticStrings.size(); i++) for (i=0; i<StaticStrings.size(); i++)
{ {
_ComboBox.InsertString (count, StaticStrings[i].c_str ()); _ComboBox.InsertString (count, utf8ToTStr(StaticStrings[i]));
count++; count++;
} }
@ -458,7 +458,7 @@ void CMemoryComboBox::refreshStrings ()
std::string ret; std::string ret;
if (getMemory (i, ret)) if (getMemory (i, ret))
{ {
_ComboBox.InsertString (count, ret.c_str ()); _ComboBox.InsertString (count, utf8ToTStr(ret));
count++; count++;
} }
} }
@ -497,7 +497,7 @@ void CMemoryComboBox::clearCommand ()
void CMemoryComboBox::addLabelCommands (uint i) void CMemoryComboBox::addLabelCommands (uint i)
{ {
_ComboBox.InsertString (i, Commands[i].Label.c_str ()); _ComboBox.InsertString (i, utf8ToTStr(Commands[i].Label));
} }
// *************************************************************************** // ***************************************************************************
@ -684,11 +684,11 @@ BOOL CMemoryComboBox::PreTranslateMessage(MSG* pMsg)
{ {
CString str; CString str;
_ComboBox.GetWindowText (str); _ComboBox.GetWindowText (str);
string str2 = str; string str2 = tStrToUtf8(str);
if ((!str2.empty ()) && (str2.find ('.') == string::npos)) if ((!str2.empty ()) && (str2.find ('.') == string::npos))
{ {
str2 += "." + _Extension; str2 += "." + _Extension;
_ComboBox.SetWindowText (str2.c_str ()); _ComboBox.SetWindowText (utf8ToTStr(str2));
} }
} }
@ -739,7 +739,7 @@ CString CMemoryComboBox::getCurrString() const
// *************************************************************************** // ***************************************************************************
void CMemoryComboBox::setCurSel(const std::string &value) void CMemoryComboBox::setCurSel(const std::string &value)
{ {
int index = _ComboBox.FindStringExact(0, value.c_str()); int index = _ComboBox.FindStringExact(0, utf8ToTStr(value));
if (index != CB_ERR) if (index != CB_ERR)
{ {
_ComboBox.SetCurSel(index); _ComboBox.SetCurSel(index);

View file

@ -498,8 +498,8 @@ void CPlugin::serverParamsReceived(const CServerParams &sp)
{ {
CMessage msg; CMessage msg;
msg.setType("AUTHENT"); msg.setType("AUTHENT");
std::string login = (LPCTSTR)dl.m_Login; std::string login = tStrToUtf8(dl.m_Login);
std::string password = (LPCTSTR)dl.m_Password; std::string password = tStrToUtf8(dl.m_Password);
sint ver = msg.serialVersion(0); sint ver = msg.serialVersion(0);
msg.serial(login); msg.serial(login);
msg.serial(password); msg.serial(password);
@ -719,7 +719,7 @@ void CPlugin::connectDisconnect()
nlassert (_DialogFlag); nlassert (_DialogFlag);
_DialogFlag->UpdateData (TRUE); _DialogFlag->UpdateData (TRUE);
_SHost = (const char*)_DialogFlag->ShardCtrl.getCurrString(); _SHost = tStrToUtf8(_DialogFlag->ShardCtrl.getCurrString());
_DialogFlag->ShardCtrl.onOK(); _DialogFlag->ShardCtrl.onOK();
@ -1189,7 +1189,7 @@ void CPlugin::updateConnectionState()
// Change the text // Change the text
_DialogFlag->ConnectCtrl.SetWindowText (getStringRsc(IDS_DISCONNECT)); _DialogFlag->ConnectCtrl.SetWindowText (getStringRsc(IDS_DISCONNECT));
_DialogFlag->State = (LPCTSTR) (getStringRsc(IDS_CONNECTED_TO) + _SHost.c_str()); _DialogFlag->State = (LPCTSTR) (getStringRsc(IDS_CONNECTED_TO) + _SHost.c_str());
_DialogFlag->Sent = (toString ((uint32)_Client->getBytesSent ()) + (LPCTSTR) getStringRsc(IDS_BYTE_SENT)).c_str(); _DialogFlag->Sent = CString(utf8ToTStr(toString (_Client->getBytesSent ()))) + getStringRsc(IDS_BYTE_SENT);
//_DialogFlag->Received = (toString ((uint32)_Client->getBytesReceived ()) + " bytes received").c_str(); //_DialogFlag->Received = (toString ((uint32)_Client->getBytesReceived ()) + " bytes received").c_str();
_DialogFlag->Received = (toString("%.1f", bandwidth/1024.0) + " kB/s").c_str(); _DialogFlag->Received = (toString("%.1f", bandwidth/1024.0) + " kB/s").c_str();
_DialogFlag->DownloadValue = (toString("%.1f kB/s", _DialogFlag->Download/1024.0)).c_str(); _DialogFlag->DownloadValue = (toString("%.1f kB/s", _DialogFlag->Download/1024.0)).c_str();
@ -1198,12 +1198,12 @@ void CPlugin::updateConnectionState()
break; break;
case WaitingServerParams: case WaitingServerParams:
_DialogFlag->ConnectCtrl.SetWindowText (getStringRsc(IDS_CANCEL_CONNECT)); _DialogFlag->ConnectCtrl.SetWindowText (getStringRsc(IDS_CANCEL_CONNECT));
_DialogFlag->State = (LPCTSTR) (getStringRsc(IDS_WAITING_SERVER_PARAMS) + _SHost.c_str()); _DialogFlag->State = getStringRsc(IDS_WAITING_SERVER_PARAMS) + utf8ToTStr(_SHost);
break; break;
case WaitingLoginConfirmation: case WaitingLoginConfirmation:
{ {
_DialogFlag->ConnectCtrl.SetWindowText (getStringRsc(IDS_CANCEL_CONNECT)); _DialogFlag->ConnectCtrl.SetWindowText (getStringRsc(IDS_CANCEL_CONNECT));
std::string label = (LPCTSTR) getStringRsc(IDS_WAITING_LOGIN_CONFIRMATION) +_SHost; std::string label = tStrToUtf8(getStringRsc(IDS_WAITING_LOGIN_CONFIRMATION)) + _SHost;
switch((NLMISC::CTime::getLocalTime() / 200) % 4) switch((NLMISC::CTime::getLocalTime() / 200) % 4)
{ {
case 0: label+= "-"; break; case 0: label+= "-"; break;

View file

@ -225,19 +225,20 @@ void CDialogFlags::OnTimer(UINT_PTR nIDEvent)
c = _SbList.GetItemCount(); c = _SbList.GetItemCount();
for (i=0; i<SampleBanks.size(); ++i) for (i=0; i<SampleBanks.size(); ++i)
{ {
std::string temp = toString("%6.2f", SampleBanks[i].second / (1024.0f*1024.0f));
if (i < c) if (i < c)
{ {
// update the item // update the item
char temp[1024]; TCHAR temp2[1024];
sprintf(temp, "%6.2f", SampleBanks[i].second / (1024.0f*1024.0f));
char temp2[1024];
_SbList.GetItemText(i, 0, temp2, 1024); _SbList.GetItemText(i, 0, temp2, 1024);
if (strcmp(SampleBanks[i].first.c_str(), temp2) != 0) if (_tcscmp(utf8ToTStr(SampleBanks[i].first), temp2) != 0)
_SbList.SetItemText(i, 0, SampleBanks[i].first.c_str()); _SbList.SetItemText(i, 0, utf8ToTStr(SampleBanks[i].first));
_SbList.GetItemText(i, 1, temp2, 1024); _SbList.GetItemText(i, 1, temp2, 1024);
if (strcmp(temp, temp2) != 0) if (_tcscmp(utf8ToTStr(temp), temp2) != 0)
_SbList.SetItemText(i, 1, temp); _SbList.SetItemText(i, 1, utf8ToTStr(temp));
} }
else else
{ {