From 99ab8fba3ebc3b2f0938fdf7acb3f6f50ea1d595 Mon Sep 17 00:00:00 2001 From: kervala Date: Sat, 26 Nov 2016 13:20:32 +0100 Subject: [PATCH] Merge with develop --- code/nel/include/nel/misc/common.h | 2 +- code/nel/src/3d/ps_mesh.cpp | 3 - .../tools/3d/ligo/plugin_max/CMakeLists.txt | 10 +- .../tools/3d/object_viewer/about_dialog.cpp | 2 +- .../3d/object_viewer/animation_set_dlg.cpp | 3 +- code/nel/tools/3d/object_viewer/bin_op_dlg.h | 4 +- .../3d/object_viewer/located_target_dlg.cpp | 1 - code/nel/tools/3d/object_viewer/mesh_dlg.cpp | 2 + .../3d/object_viewer/particle_system_edit.cpp | 2 + .../3d/object_viewer/particle_workspace.cpp | 2 + .../3d/object_viewer/skeleton_scale_dlg.cpp | 13 +- .../3d/object_viewer/snapshot_tool_dlg.cpp | 7 +- .../nel_export/nel_export_export.cpp | 26 +-- .../nel_export/nel_export_node_properties.cpp | 2 + .../nel_patch_converter.cpp | 34 +-- .../plugin_max/nel_patch_lib/nel_patch_mesh.h | 1 + .../3d/plugin_max/tile_utility/rgbadd.cpp | 14 +- .../plugin_max/tile_utility/tile_utility.cpp | 30 +-- code/nel/tools/3d/tile_edit/View.cpp | 1 + .../tools/client/ryzom_installer/src/main.cpp | 4 +- .../translations/ryzom_installer_de.ts | 216 ++++++++++-------- .../translations/ryzom_installer_es.ts | 212 ++++++++--------- .../translations/ryzom_installer_fr.ts | 216 ++++++++++-------- .../translations/ryzom_installer_ru.ts | 216 ++++++++++-------- .../graph_plugin.cpp | 105 +++++---- .../mission_compiler_main_window.cpp | 4 +- 26 files changed, 598 insertions(+), 534 deletions(-) diff --git a/code/nel/include/nel/misc/common.h b/code/nel/include/nel/misc/common.h index c677a01bf..f1c090c2b 100644 --- a/code/nel/include/nel/misc/common.h +++ b/code/nel/include/nel/misc/common.h @@ -291,7 +291,7 @@ inline sint nlstricmp(const char *lhs, const std::string &rhs) { return stricmp( #define tStrToUtf8(str) (ucstring((ucchar*)(LPCWSTR)str).toUtf8()) #define utf8ToTStr(str) ((wchar_t*)ucstring::makeFromUtf8(str).c_str()) #else -#define tStrToUtf8(str) ((LPCSTR)str) +#define tStrToUtf8(str) (std::string((LPCSTR)str)) #define utf8ToTStr(str) (str.c_str()) #endif diff --git a/code/nel/src/3d/ps_mesh.cpp b/code/nel/src/3d/ps_mesh.cpp index e98dc801f..5b61168e5 100644 --- a/code/nel/src/3d/ps_mesh.cpp +++ b/code/nel/src/3d/ps_mesh.cpp @@ -1120,8 +1120,6 @@ void CPSConstraintMesh::getShapesNames(std::string *shapesNames) const #endif } - - //==================================================================================== void CPSConstraintMesh::setShape(uint index, const std::string &shapeName) { @@ -1132,7 +1130,6 @@ void CPSConstraintMesh::setShape(uint index, const std::string &shapeName) _ValidBuild = 0; } - //==================================================================================== const std::string &CPSConstraintMesh::getShape(uint index) const { diff --git a/code/nel/tools/3d/ligo/plugin_max/CMakeLists.txt b/code/nel/tools/3d/ligo/plugin_max/CMakeLists.txt index 6427c6b17..cd2539ee4 100644 --- a/code/nel/tools/3d/ligo/plugin_max/CMakeLists.txt +++ b/code/nel/tools/3d/ligo/plugin_max/CMakeLists.txt @@ -4,17 +4,17 @@ ADD_LIBRARY(ligoscape_utility SHARED ligoscape_utility.rc ${SRC} ligoscape_utili INCLUDE_DIRECTORIES(${MAXSDK_INCLUDE_DIR}) -TARGET_LINK_LIBRARIES(ligoscape_utility - nelmisc +TARGET_LINK_LIBRARIES(ligoscape_utility + nelmisc nelligo nel3d nelpacs - ${MAXSDK_LIBRARIES} - nel_patch_lib + ${MAXSDK_LIBRARIES} + nel_patch_lib nel_mesh_lib nel_3dsmax_shared comctl32) - + SET_TARGET_PROPERTIES(ligoscape_utility PROPERTIES SUFFIX ".dlx") NL_DEFAULT_PROPS(ligoscape_utility "MAX Plugin: Ligoscape Utility") NL_ADD_RUNTIME_FLAGS(ligoscape_utility) diff --git a/code/nel/tools/3d/object_viewer/about_dialog.cpp b/code/nel/tools/3d/object_viewer/about_dialog.cpp index 7aa2c5227..a2ea72e10 100644 --- a/code/nel/tools/3d/object_viewer/about_dialog.cpp +++ b/code/nel/tools/3d/object_viewer/about_dialog.cpp @@ -88,7 +88,7 @@ BOOL CAboutDialog::OnInitDialog() } } } - + return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } diff --git a/code/nel/tools/3d/object_viewer/animation_set_dlg.cpp b/code/nel/tools/3d/object_viewer/animation_set_dlg.cpp index aebe18f15..a815a83a6 100644 --- a/code/nel/tools/3d/object_viewer/animation_set_dlg.cpp +++ b/code/nel/tools/3d/object_viewer/animation_set_dlg.cpp @@ -287,6 +287,7 @@ void CAnimationSetDlg::refresh (BOOL update) // Keyframer ? UTrackKeyframer *keyTrack=dynamic_cast(track); + if (keyTrack) { // Get number of keys @@ -316,7 +317,7 @@ void CAnimationSetDlg::refresh (BOOL update) std::string name = NLMISC::CFile::getFilenameWithoutExtension(object->Saved.SWTFileName[i]); // Get the animation pointer - CSkeletonWeight *swt = object->AnimationSet.getSkeletonWeight (object->AnimationSet.getSkeletonWeightIdByName (name)); + CSkeletonWeight *swt = object->AnimationSet.getSkeletonWeight(object->AnimationSet.getSkeletonWeightIdByName(name)); // Insert an intem HTREEITEM item=SkelTree.InsertItem(utf8ToTStr(name)); diff --git a/code/nel/tools/3d/object_viewer/bin_op_dlg.h b/code/nel/tools/3d/object_viewer/bin_op_dlg.h index c0080c866..1e54d7e98 100644 --- a/code/nel/tools/3d/object_viewer/bin_op_dlg.h +++ b/code/nel/tools/3d/object_viewer/bin_op_dlg.h @@ -104,8 +104,8 @@ public: // SchemeWrapper[k].S reference the atriobute maker being edited if (_EditedScheme->supportOp( (NL3D::CPSBinOp::BinOp) k)) { - sint index = m_BinOp.AddString(ops[k]) ; - m_BinOp.SetItemData(index, k) ; + sint index = m_BinOp.AddString(ops[k]); + m_BinOp.SetItemData(index, k); if ((uint) _EditedScheme->getOp() == k) { m_BinOp.SetCurSel(k) ; diff --git a/code/nel/tools/3d/object_viewer/located_target_dlg.cpp b/code/nel/tools/3d/object_viewer/located_target_dlg.cpp index 12c9de041..03fcb226c 100644 --- a/code/nel/tools/3d/object_viewer/located_target_dlg.cpp +++ b/code/nel/tools/3d/object_viewer/located_target_dlg.cpp @@ -185,7 +185,6 @@ BOOL CLocatedTargetDlg::OnInitDialog() } } - const sint posX = 5; sint posY = 180; diff --git a/code/nel/tools/3d/object_viewer/mesh_dlg.cpp b/code/nel/tools/3d/object_viewer/mesh_dlg.cpp index c81a1d92a..a35b7fe71 100644 --- a/code/nel/tools/3d/object_viewer/mesh_dlg.cpp +++ b/code/nel/tools/3d/object_viewer/mesh_dlg.cpp @@ -111,8 +111,10 @@ void CMeshDlg::OnBrowseShape() { MessageBox(utf8ToTStr(e.what()), _T("shape loading error")); } + updateMeshErrorString(); } + UpdateData(FALSE); } diff --git a/code/nel/tools/3d/object_viewer/particle_system_edit.cpp b/code/nel/tools/3d/object_viewer/particle_system_edit.cpp index 17b4892fe..6d833acdf 100644 --- a/code/nel/tools/3d/object_viewer/particle_system_edit.cpp +++ b/code/nel/tools/3d/object_viewer/particle_system_edit.cpp @@ -220,6 +220,7 @@ void CParticleSystemEdit::updateDieOnEventParams() { ew = FALSE; } + GetDlgItem(IDC_APPLY_AFTER_DELAY)->EnableWindow(ew); CString out; @@ -232,6 +233,7 @@ void CParticleSystemEdit::updateDieOnEventParams() { out = _T("???"); } + GetDlgItem(IDC_APPLY_AFTER_DELAY)->SetWindowText(out); ((CButton *) GetDlgItem(IDC_AUTO_DELAY))->SetCheck(autoDelay ? 1 : 0); } diff --git a/code/nel/tools/3d/object_viewer/particle_workspace.cpp b/code/nel/tools/3d/object_viewer/particle_workspace.cpp index c94948d71..5c62dcb0d 100644 --- a/code/nel/tools/3d/object_viewer/particle_workspace.cpp +++ b/code/nel/tools/3d/object_viewer/particle_workspace.cpp @@ -386,6 +386,7 @@ CParticleWorkspace::CNode *CParticleWorkspace::addNode(const std::string &filena { relativePath = resultPath; } + if (relativePath.size() >= 2) { if (relativePath[0] == '\\' && relativePath[1] != '\\') @@ -393,6 +394,7 @@ CParticleWorkspace::CNode *CParticleWorkspace::addNode(const std::string &filena relativePath = relativePath.substr(1); } } + CNode *newNode = new CNode; newNode->init(this); newNode->setRelativePath(relativePath); diff --git a/code/nel/tools/3d/object_viewer/skeleton_scale_dlg.cpp b/code/nel/tools/3d/object_viewer/skeleton_scale_dlg.cpp index 42839e933..f54c723df 100644 --- a/code/nel/tools/3d/object_viewer/skeleton_scale_dlg.cpp +++ b/code/nel/tools/3d/object_viewer/skeleton_scale_dlg.cpp @@ -199,12 +199,15 @@ void CSkeletonScaleDlg::setSkeletonToEdit(NL3D::CSkeletonModel *skel, const std { for(uint i=0;i<_SkeletonModel->Bones.size();i++) { - const std::string tabStr= " "; - std::string name= _SkeletonModel->Bones[i].getBoneName(); + const std::string tabStr = " "; + std::string name = _SkeletonModel->Bones[i].getBoneName(); + // append a tab for easy hierarchy - uint boneId= i; + uint boneId = i; + while((boneId=_SkeletonModel->Bones[boneId].getFatherId())!=-1) - name= tabStr + name; + name = tabStr + name; + // append to the list _BoneList.AddString(utf8ToTStr(name)); } @@ -1222,7 +1225,7 @@ void CSkeletonScaleDlg::OnSsdButtonSaveScale() return; // choose the file - std::string defaultFileName= _SkeletonFileName; + std::string defaultFileName = _SkeletonFileName; NLMISC::strFindReplace(defaultFileName, ".skel", ".scale"); CFileDialog fd(FALSE, _T("scale"), utf8ToTStr(defaultFileName), OFN_OVERWRITEPROMPT, _T("SkelScaleFiles (*.scale)|*.scale|All Files (*.*)|*.*||"), this) ; diff --git a/code/nel/tools/3d/object_viewer/snapshot_tool_dlg.cpp b/code/nel/tools/3d/object_viewer/snapshot_tool_dlg.cpp index a8125f43b..8cbb869de 100644 --- a/code/nel/tools/3d/object_viewer/snapshot_tool_dlg.cpp +++ b/code/nel/tools/3d/object_viewer/snapshot_tool_dlg.cpp @@ -114,6 +114,7 @@ void CSnapshotToolDlg::stringFromRegistry(HKEY hKey, const TCHAR *name, CString DWORD type; DWORD size; LONG result = RegQueryValueEx(hKey, name, NULL, &type, NULL, &size); + if (type != REG_SZ || result != ERROR_SUCCESS || size == 0) { dest = defaultStr; @@ -144,18 +145,22 @@ template void integralTypeFromRegistry(HKEY hKey, const TCHAR DWORD type; DWORD size; LONG result = RegQueryValueEx(hKey, name, NULL, &type, NULL, &size); + if (type != REG_DWORD || result != ERROR_SUCCESS || size == 0) { dest = (T) defaultValue; return; } + DWORD value; result = RegQueryValueEx(hKey, name, NULL, &type, LPBYTE(&value), &size); + if (result != ERROR_SUCCESS) { dest = defaultValue; return; } + dest = (T) value; } @@ -175,6 +180,7 @@ void CSnapshotToolDlg::fromRegistry() NLMISC::splitString(tStrToUtf8(filters), ",", filterList); m_Filters.ResetContent(); + for (uint k = 0; k < filterList.size(); ++k) { m_Filters.AddString(utf8ToTStr(filterList[k])); @@ -431,7 +437,6 @@ void CSnapshotToolDlg::OnGo() } } - // make sure that the screen can contains the window client area RECT desktopSize; ::GetClientRect(::GetDesktopWindow(), &desktopSize); diff --git a/code/nel/tools/3d/plugin_max/nel_export/nel_export_export.cpp b/code/nel/tools/3d/plugin_max/nel_export/nel_export_export.cpp index 4fbdde584..4beaeb108 100644 --- a/code/nel/tools/3d/plugin_max/nel_export/nel_export_export.cpp +++ b/code/nel/tools/3d/plugin_max/nel_export/nel_export_export.cpp @@ -36,11 +36,11 @@ bool CNelExport::exportMesh (const char *sPath, INode& node, TimeValue time) { // Result to return bool bRet = false; - TCHAR tempFileName[MAX_PATH] = { 0 }; + TCHAR tempFileName[MAX_PATH] = { 0 }; TCHAR tempPathBuffer[MAX_PATH] = { 0 }; - + try - { + { DWORD dwRetVal = GetTempPath(MAX_PATH, tempPathBuffer); if (dwRetVal > MAX_PATH || (dwRetVal == 0)) nlerror("GetTempPath failed"); @@ -85,7 +85,7 @@ bool CNelExport::exportMesh (const char *sPath, INode& node, TimeValue time) skeletonShape = NULL; } } - + DWORD t = timeGetTime(); if (InfoLog) InfoLog->display("Beg buildShape %s \n", node.GetName()); @@ -93,7 +93,7 @@ bool CNelExport::exportMesh (const char *sPath, INode& node, TimeValue time) IShape *pShape = _ExportNel->buildShape(node, time, mapIdPtr, true); if (InfoLog) InfoLog->display("End buildShape in %d ms \n", timeGetTime()-t); - + // Conversion success ? if (pShape) { @@ -105,7 +105,7 @@ bool CNelExport::exportMesh (const char *sPath, INode& node, TimeValue time) { // Create a streamable shape CShapeStream shapeStream(pShape); - + // Serial the shape shapeStream.serial(file); @@ -250,9 +250,9 @@ bool CNelExport::exportAnim (const char *sPath, std::vector& vectNode, T { // Result to return bool bRet=false; - char tempFileName[MAX_PATH] = { 0 }; + char tempFileName[MAX_PATH] = { 0 }; char tempPathBuffer[MAX_PATH] = { 0 }; - + try { DWORD dwRetVal = GetTempPathA(MAX_PATH, tempPathBuffer); @@ -261,19 +261,19 @@ bool CNelExport::exportAnim (const char *sPath, std::vector& vectNode, T UINT uRetVal = GetTempFileNameA(tempPathBuffer, TEXT("_nel_export_mesh_"), 0, tempFileName); if (uRetVal == 0) nlerror("GetTempFileName failed"); - + // Create an animation file CAnimation animFile; // For each node to export for (uint n=0; n& vectNode, T bool root = vectNode[n]->GetParentNode () == _Ip->GetRootNode(); // Add animation - _ExportNel->addAnimation (animFile, *vectNode[n], nodeName.c_str(), root); + _ExportNel->addAnimation (animFile, *vectNode[n], nodeName.c_str(), root); } if (vectNode.size()) @@ -401,7 +401,7 @@ bool CNelExport::exportSkeleton (const char *sPath, INode* pNode, TimeValue time { // Create a streamable shape CShapeStream shapeStream (skeletonShape); - + // Serial the shape shapeStream.serial (file); diff --git a/code/nel/tools/3d/plugin_max/nel_export/nel_export_node_properties.cpp b/code/nel/tools/3d/plugin_max/nel_export/nel_export_node_properties.cpp index e7a82c878..a6d68c4f5 100644 --- a/code/nel/tools/3d/plugin_max/nel_export/nel_export_node_properties.cpp +++ b/code/nel/tools/3d/plugin_max/nel_export/nel_export_node_properties.cpp @@ -2372,11 +2372,13 @@ INT_PTR CALLBACK MiscDialogCallback ( currentParam->RemanenceShiftingTexture = SendMessage (GetDlgItem (hwndDlg, IDC_REMANENCE_SHIFTING_TEXTURE), BM_GETCHECK, 0, 0); GetWindowText (GetDlgItem (hwndDlg, IDC_REMANENCE_SLICE_NUMBER), tmp, 512); + uint rsn; if (NLMISC::fromString(tStrToUtf8(tmp), rsn)) { currentParam->RemanenceSliceNumber = rsn; } + GetWindowText (GetDlgItem (hwndDlg, IDC_REMANENCE_SAMPLING_PERIOD), tmp, 512); toFloatMax(tmp, currentParam->RemanenceSamplingPeriod); GetWindowText (GetDlgItem (hwndDlg, IDC_REMANENCE_ROLLUP_RATIO), tmp, 512); diff --git a/code/nel/tools/3d/plugin_max/nel_patch_converter/nel_patch_converter.cpp b/code/nel/tools/3d/plugin_max/nel_patch_converter/nel_patch_converter.cpp index 3bf145d6f..61b8de8e8 100644 --- a/code/nel/tools/3d/plugin_max/nel_patch_converter/nel_patch_converter.cpp +++ b/code/nel/tools/3d/plugin_max/nel_patch_converter/nel_patch_converter.cpp @@ -35,8 +35,8 @@ enum { po2rpo_params }; //TODO: Add enums for various parameters enum { pb_spin,}; -static ParamBlockDesc2 po2rpo_param_blk ( po2rpo_params, _T("params"), 0, &PO2RPODesc, - P_AUTO_CONSTRUCT + P_AUTO_UI, PBLOCK_REF, +static ParamBlockDesc2 po2rpo_param_blk ( po2rpo_params, _T("params"), 0, &PO2RPODesc, + P_AUTO_CONSTRUCT + P_AUTO_UI, PBLOCK_REF, //rollout IDD_PANEL, IDS_PARAMS, 0, 0, NULL, // params @@ -67,11 +67,11 @@ PO2RPO::~PO2RPO() Interval PO2RPO::LocalValidity(TimeValue t) { - // if being edited, return NEVER forces a cache to be built + // if being edited, return NEVER forces a cache to be built // after previous modifier. if (TestAFlag(A_MOD_BEING_EDITED)) { - return NEVER; + return NEVER; } //TODO: Return the validity interval of the modifier return NEVER; @@ -81,7 +81,7 @@ Interval PO2RPO::LocalValidity(TimeValue t) RefTargetHandle PO2RPO::Clone(RemapDir& remap) { - PO2RPO* newmod = new PO2RPO(); + PO2RPO* newmod = new PO2RPO(); //TODO: Add the cloning code here newmod->ReplaceReference(0,pblock->Clone(remap)); return(newmod); @@ -90,7 +90,7 @@ RefTargetHandle PO2RPO::Clone(RemapDir& remap) // ----------------------------------------------------------------------------------------------------------------------------------------------------------- static int done=0; -void PO2RPO::ModifyObject(TimeValue t, ModContext &mc, ObjectState * os, INode *node) +void PO2RPO::ModifyObject(TimeValue t, ModContext &mc, ObjectState * os, INode *node) { /* if (!done) @@ -121,12 +121,12 @@ void PO2RPO::ModifyObject(TimeValue t, ModContext &mc, ObjectState * os, INode * // ----------------------------------------------------------------------------------------------------------------------------------------------------------- extern HINSTANCE hInstance; -INT_PTR CALLBACK DlgProc_Panel(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) +INT_PTR CALLBACK DlgProc_Panel(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { - switch (message) + switch (message) { // ----- - case WM_INITDIALOG: + case WM_INITDIALOG: { // Get the module path HMODULE hModule = hInstance; @@ -214,7 +214,7 @@ void PO2RPO::BeginEditParams( IObjParam *ip, ULONG flags,Animatable *prev ) void PO2RPO::EndEditParams( IObjParam *ip, ULONG flags,Animatable *next) { //PO2RPODesc.EndEditParams(ip, this, flags, next); - ip->DeleteRollupPage(hRollup); + ip->DeleteRollupPage(hRollup); this->ip = NULL; } @@ -230,21 +230,21 @@ RefResult PO2RPO::NotifyRefChanged(Interval changeInt, RefTargetHandle hTarget,P // ----------------------------------------------------------------------------------------------------------------------------------------------------------- //From Object -BOOL PO2RPO::HasUVW() -{ +BOOL PO2RPO::HasUVW() +{ //TODO: Return whether the object has UVW coordinates or not - return TRUE; + return TRUE; } // ----------------------------------------------------------------------------------------------------------------------------------------------------------- -void PO2RPO::SetGenUVW(BOOL sw) -{ - if (sw==HasUVW()) +void PO2RPO::SetGenUVW(BOOL sw) +{ + if (sw==HasUVW()) { return; } - //TODO: Set the plugin internal value to sw + //TODO: Set the plugin internal value to sw } // ----------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/code/nel/tools/3d/plugin_max/nel_patch_lib/nel_patch_mesh.h b/code/nel/tools/3d/plugin_max/nel_patch_lib/nel_patch_mesh.h index d6c4bb522..f0ed9601c 100644 --- a/code/nel/tools/3d/plugin_max/nel_patch_lib/nel_patch_mesh.h +++ b/code/nel/tools/3d/plugin_max/nel_patch_lib/nel_patch_mesh.h @@ -435,6 +435,7 @@ public: CBankManager () { } + const NL3D::CTileBank& getBank (std::string& path=GetBankPathName ()) { if (path!=_lastPath) diff --git a/code/nel/tools/3d/plugin_max/tile_utility/rgbadd.cpp b/code/nel/tools/3d/plugin_max/tile_utility/rgbadd.cpp index c798f83e2..a024c962c 100644 --- a/code/nel/tools/3d/plugin_max/tile_utility/rgbadd.cpp +++ b/code/nel/tools/3d/plugin_max/tile_utility/rgbadd.cpp @@ -371,19 +371,19 @@ RefResult RGBAdd::NotifyRefChanged(Interval changeInt, RefTargetHandle hTarget, case REFMSG_CHANGE: ivalid.SetEmpty(); if (hTarget == pblock) - { - // see if this message came from a changing parameter in the pblock, - // if so, limit rollout update to the changing item and update any active viewport texture + { + // see if this message came from a changing parameter in the pblock, + // if so, limit rollout update to the changing item and update any active viewport texture ParamID changing_param = pblock->LastNotifyParamID(); RGBAdd_param_blk.InvalidateUI(changing_param); - // notify our dependents that we've changed + // notify our dependents that we've changed // NotifyChanged(); //DS this is redundant - } + } break; - } - return(REF_SUCCEED); } + return(REF_SUCCEED); +} #define MTL_HDR_CHUNK 0x4000 diff --git a/code/nel/tools/3d/plugin_max/tile_utility/tile_utility.cpp b/code/nel/tools/3d/plugin_max/tile_utility/tile_utility.cpp index 9a65e158f..37dca5ac9 100644 --- a/code/nel/tools/3d/plugin_max/tile_utility/tile_utility.cpp +++ b/code/nel/tools/3d/plugin_max/tile_utility/tile_utility.cpp @@ -29,7 +29,7 @@ extern HINSTANCE hInstance; using namespace NLMISC; using namespace NL3D; -class Tile_utility : public UtilityObj +class Tile_utility : public UtilityObj { public: HWND hPanel; @@ -44,8 +44,8 @@ public: void Init(HWND hWnd); void Destroy(HWND hWnd); - - void DeleteThis() { } + + void DeleteThis() { } void Load (const std::string& path); void SetLand (sint land); @@ -55,7 +55,7 @@ public: //Constructor/Destructor Tile_utility(); - ~Tile_utility(); + ~Tile_utility(); }; CTileBank Tile_utility::Bank; @@ -64,11 +64,11 @@ std::string Tile_utility::Path; static Tile_utility theTile_utility; -class Tile_utilityClassDesc:public ClassDesc2 +class Tile_utilityClassDesc:public ClassDesc2 { public: int IsPublic() {return 1;} - void * Create(BOOL loading = FALSE) + void * Create(BOOL loading = FALSE) { return &theTile_utility; } @@ -85,7 +85,7 @@ ClassDesc2* GetTile_utilityDesc() {return &Tile_utilityDesc;} static INT_PTR CALLBACK Tile_utilityDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { - switch (msg) + switch (msg) { case WM_INITDIALOG: { @@ -159,12 +159,12 @@ static INT_PTR CALLBACK Tile_utilityDlgProc(HWND hWnd, UINT msg, WPARAM wParam, case WM_LBUTTONDOWN: case WM_LBUTTONUP: case WM_MOUSEMOVE: - theTile_utility.ip->RollupMouseMessage(hWnd,msg,wParam,lParam); + theTile_utility.ip->RollupMouseMessage(hWnd,msg,wParam,lParam); break; case WM_COMMAND: { int id = LOWORD(wParam); - switch (id) + switch (id) { case IDC_BANK_PATH: { @@ -240,7 +240,7 @@ static INT_PTR CALLBACK Tile_utilityDlgProc(HWND hWnd, UINT msg, WPARAM wParam, Tile_utility::Tile_utility() { iu = NULL; - ip = NULL; + ip = NULL; hPanel = NULL; Bank.clear(); Land=0; @@ -252,7 +252,7 @@ Tile_utility::~Tile_utility() } -void Tile_utility::BeginEditParams(Interface *ip,IUtil *iu) +void Tile_utility::BeginEditParams(Interface *ip,IUtil *iu) { this->iu = iu; this->ip = ip; @@ -264,8 +264,8 @@ void Tile_utility::BeginEditParams(Interface *ip,IUtil *iu) 0); SetupUI (); } - -void Tile_utility::EndEditParams(Interface *ip,IUtil *iu) + +void Tile_utility::EndEditParams(Interface *ip,IUtil *iu) { this->iu = NULL; this->ip = NULL; @@ -319,7 +319,7 @@ void Tile_utility::SetLand (sint land) Land=0; SetBankTileSetSet (Land); } - + void Tile_utility::SetupUI () { // Clear combo box @@ -333,7 +333,7 @@ void Tile_utility::SetupUI () // Enable combo box if (Bank.getLandCount()) EnableWindow (hCombo, TRUE); - else + else EnableWindow (hCombo, FALSE); } diff --git a/code/nel/tools/3d/tile_edit/View.cpp b/code/nel/tools/3d/tile_edit/View.cpp index 354f1e51d..db4c52828 100644 --- a/code/nel/tools/3d/tile_edit/View.cpp +++ b/code/nel/tools/3d/tile_edit/View.cpp @@ -1296,6 +1296,7 @@ void CTView::DrawTile(tilelist::iterator i,CDC *pDC,int clear, int n) { Name = NLMISC::toString("%d", i->id); } + rect_txt.top = pt.y + sizetile_y + spacing_tile_text; rect_txt.bottom += rect_txt.top + sizetext_y; rect_txt.left -= spacing_x; diff --git a/code/ryzom/tools/client/ryzom_installer/src/main.cpp b/code/ryzom/tools/client/ryzom_installer/src/main.cpp index 0ab58302a..46cb03248 100644 --- a/code/ryzom/tools/client/ryzom_installer/src/main.cpp +++ b/code/ryzom/tools/client/ryzom_installer/src/main.cpp @@ -232,8 +232,8 @@ int main(int argc, char *argv[]) dialog.setSelectedComponents(components); - // TODO: check real return codes from Uninstallers - if (!dialog.exec()) return 1; + // exit if press Cancel button or close dialog + if (!dialog.exec()) return 0; components = dialog.getSelectedCompenents(); } diff --git a/code/ryzom/tools/client/ryzom_installer/translations/ryzom_installer_de.ts b/code/ryzom/tools/client/ryzom_installer/translations/ryzom_installer_de.ts index 69c36c3bb..1f7ba41c0 100644 --- a/code/ryzom/tools/client/ryzom_installer/translations/ryzom_installer_de.ts +++ b/code/ryzom/tools/client/ryzom_installer/translations/ryzom_installer_de.ts @@ -4,42 +4,46 @@ CDownloader - + File is larger (%1B) than expected (%2B) Die Datei ist (%1B) größer als erwartet (%2B) - + + Error '%1' occurred when trying to check free disk space on %2. + + + + You only have %1 bytes left on the device, but %2 bytes are needed. Auf dem Gerät sind nur noch %1 Byte Speicherplatz verfügbar, es werden aber %2 Byte benötigt. - + Unable to write file Datei kann nicht geschrieben werden - + Timeout Zeitüberschreitung - + Redirection URL is not defined Weiterleitungs-URL ist nicht definiert - File is not available, please retry later (status code: %1) - Datei ist nicht abrufbar, bitte versuch es später noch einmal (Status-Code: %1) + Datei ist nicht abrufbar, bitte versuch es später noch einmal (Status-Code: %1) - + Incorrect status code: %1 Falscher Status-Code: %1 - + HTTP error: %1 @@ -59,7 +63,7 @@ Internet (%1 herunterzuladen) - + Files will be installed to (requires %1): Dateien werden installiert nach (benötigt %1): @@ -76,7 +80,7 @@ Ryzom konnte im gewählten Verzeichnis nicht gefunden werden. Wähle bitte ein anderes Verzeichnis oder brich ab. - + Please choose directory to install Ryzom in Bitte wähle ein Verzeichnis, in dem Ryzom installiert werden soll. @@ -89,32 +93,32 @@ Undefiniert - + Not enough free disk space Nicht genügend freier Festplattenspeicher - + You don't have enough free space on this disk, please make more space or choose a directory on another disk. Auf diesem Laufwerk ist nicht genügend freier Speicher verfügbar, bitte schaffe mehr Platz oder wähle ein Verzeichnis auf einem anderen Laufwerk. - + Unable to write in directory In das Verzeichnis konnte nicht geschrieben werden - + You don't have the permission to write in this directory with your current user account, please choose another directory. Du hast nicht die Berechtigungen, um mit deinem derzeitigen Benutzer-Konto in dieses Verzeichnis zu schreiben, bitte wähle ein anderes Verzeichnis. - + Directory not empty Verzeichnist ist nicht leer - + This directory is not empty, please choose another one. Dieses Verzeichnis ist nicht leer, bitte wähle ein anderes. @@ -122,27 +126,27 @@ CMainWindow - + About %1 Über %1 - + Program to install, download and manage Ryzom profiles. Programm, um Ryzom-Profile zu installieren, herunterzuladen und zu verwalten. - + Author: %1 Autor: %1 - + Copyright: %1 Copyright: %1 - + Support: %1 Support: %1 @@ -150,42 +154,42 @@ CMigrateDialog - + Files will be installed to (requires %1): Dateien werden installiert nach (benötigt %1): - + Please choose directory to install Ryzom in Bitte wähle ein Verzeichnis, in dem Ryzom installiert werden soll. - + Not enough free disk space Nicht genügend freier Festplattenspeicher - + You don't have enough free space on this disk, please make more space or choose a directory on another disk. Auf diesem Laufwerk ist nicht genügend freier Speicher verfügbar, bitte schaffe mehr Platz oder wähle ein Verzeichnis auf einem anderen Laufwerk. - + Unable to write in directory Kann nicht in dieses Verzeichnis schreiben - + You don't have the permission to write in this directory with your current user account, please choose another directory. Du hast nicht die Berechtigungen, mit deinem derzeitigen Benutzer-Konto in dieses Verzeichnis zu schreiben, bitte wähle ein anderes Verzeichnis. - + Directory not empty Verzeichnis ist nicht leer - + This directory is not empty, please choose another one. Dieses Verzeichnis ist nicht leer, bitte wähle ein anderes. @@ -197,109 +201,109 @@ Profile aktualisieren - + Updating profiles... Aktualisiere Profile... - + Confirmation Bestätigung - + Warning, this server doesn't support resume! If you stop download now, you won't be able to resume it later. Are you sure to abort download? Warnung: dieser Server unterstützt kein Fortsetzen! Wenn du jetzt den Download abbrichst, wirst du nicht in der Lage sein, ihn später wieder fortzusetzen. Willst du den Download wirklich abbrechen? - + %p% (%v/%m KiB) %p% (%v/%m KiB) - + Error Fehler - + Downloading data required by server %1... Herunterzuladende Daten benötigt von Server %1... - + Extracting data required by server %1... Zu extrahierende Daten benötigt von Server %1... - + Downloading client required by server %1... Herunterzuladender Client benötigt von Server %1... - + Extracting client required by server %1... Zu extrahierender Client benötigt von Server %1... - + Copying data required by server %1... Zu kopierende Daten benötigt von Server %1... - + Copying old profile to new location... Kopiere alte Profile zum neuen Zielort... - + Extracting client to new location... Extrahiere Client an neuem Zielort... - + Copying installer to new location... Kopiere Installer zum neuen Zielort... - + Cleaning obsolete files... Bereinige überholte Dateien... - + Creating default profile... Erstelle Standard-Profile... - + Creating shortcuts for profile %1... Erstelle Verknüpfungen für Profile %1... - + Deleting client... Lösche Client... - + Adding profiles... Füge Profile hinzu... - + Deleting profiles... Lösche Profile... - + Deleting installer... Lösche Installer... - + Deleting downloaded files... Lösche heruntergeladene Dateien... @@ -349,12 +353,12 @@ Willst du den Download wirklich abbrechen? Kopiere Installer an neuen Ort - + Uninstall old client Deinstalliere alten Client - + An old version of Ryzom has been detected on this system, would you like to uninstall it to save space disk? Eine ältere Version von Ryzom wurde auf diesem System gefunden, möchtest du sie deinstallieren, um Festplattenspeicher zu sparen? @@ -379,7 +383,7 @@ Willst du den Download wirklich abbrechen? Lösche Client-Dateien - + Unable to delete files for client %1 Dateien für Client %1 konnten nicht gelöscht werden @@ -400,7 +404,7 @@ Willst du den Download wirklich abbrechen? Lösche Profil %1... - + Unable to delete files for profile %1 Dateien für Profil %1 konnten nicht gelöscht werden @@ -433,17 +437,17 @@ Are you sure to delete this profile? Bist du sicher, dass du dieses Profil löschen willst? - + Executables (*) - + Please choose Ryzom client executable to launch Bitte wähle die ausführbare Datei, um den Ryzom-Client zu starten - + Executables (*.exe) Ausführbare Dateien (*.exe) @@ -753,7 +757,7 @@ Drücke Weiter und folge den verschiedenen Schritten bis zum Ende. Löschen - + Profile: Profil: @@ -762,27 +766,27 @@ Drücke Weiter und folge den verschiedenen Schritten bis zum Ende. 0 - + Name: Name: - + Server: Server: - + Atys Atys - + Yubo Yubo - + Executable: Ausführbare Datei: @@ -791,27 +795,27 @@ Drücke Weiter und folge den verschiedenen Schritten bis zum Ende. ryzom_client_r.exe - + Default Standard - + Browse... Durchsuchen... - + Arguments: Argumente: - + Comments: Kommentare: - + Directory: Verzeichnis: @@ -820,22 +824,22 @@ Drücke Weiter und folge den verschiedenen Schritten bis zum Ende. ~/.ryzom/0 - + Open Öffnen - + Create shortcuts: Erstelle Verknüpfungen: - + Desktop Desktop - + Start Menu Start-Menü @@ -843,116 +847,123 @@ Drücke Weiter und folge den verschiedenen Schritten bis zum Ende. QApplication - + Error Fehler - + Unable to find ryzom_installer.ini ryzom_installer.ini konnte nicht gefunden werden - + Installation and launcher tool for Ryzom Installations- und Startprogramm für Ryzom - + Uninstall Deinstallieren - + Silent mode Stiller Modus - + Version Version - + Install itself Selbstinstallation - - + + Unable to open %1 %1 konnte nicht geöffnet werden - Unable to open output file - Ausgabe-Datei konnte nicht geöffnet werden + Ausgabe-Datei konnte nicht geöffnet werden - Unable to write output file - Ausgabe-Datei konnte nicht geschrieben werden + Ausgabe-Datei konnte nicht geschrieben werden - - + + Unable to open output file %1 + + + + + Unable to write output file %1 (%2 bytes written but expecting %3 bytes) + + + + + 7zip decoder doesn't support this archive 7zip-Decoder unterstützt dieses Archiv nicht - + Unable to allocate memory Speicher konnte nicht zugewiesen werden - + File %1 is corrupted, unable to uncompress it - + Error %1 Fehler %1 - + Unable to create directory %1 Verzeichnis %1 konnte nicht erstellt werden - + Unable to set permissions of %1 Berechtigungen für %1 konnten nicht gesetzt werden - + disk full Festplatte voll - + unable to write %1 Konnte %1 nicht schreiben - + unable to read %1 Konnte %1 nicht lesen - + failed (%1) Fehlgeschlagen (%1) - + Unable to unpack %1 to %2: %3 Konnte %1 nicht nach %2 entpacken: %3 - Unable to copy file %1 - Konnte Datei %1 nicht kopieren + Konnte Datei %1 nicht kopieren @@ -964,6 +975,11 @@ Drücke Weiter und folge den verschiedenen Schritten bis zum Ende. Profile name %1 is using invalid character %2 at position %3 + + + Unable to copy file %1 to %2 + + QObject diff --git a/code/ryzom/tools/client/ryzom_installer/translations/ryzom_installer_es.ts b/code/ryzom/tools/client/ryzom_installer/translations/ryzom_installer_es.ts index 3ecb5391f..493fbc7c9 100644 --- a/code/ryzom/tools/client/ryzom_installer/translations/ryzom_installer_es.ts +++ b/code/ryzom/tools/client/ryzom_installer/translations/ryzom_installer_es.ts @@ -4,42 +4,42 @@ CDownloader - + File is larger (%1B) than expected (%2B) - + + Error '%1' occurred when trying to check free disk space on %2. + + + + You only have %1 bytes left on the device, but %2 bytes are needed. - + Unable to write file - + Timeout - + Redirection URL is not defined - - File is not available, please retry later (status code: %1) - - - - + Incorrect status code: %1 - + HTTP error: %1 @@ -47,42 +47,42 @@ CInstallDialog - + Files will be installed to (requires %1): - + Please choose directory to install Ryzom in - + Not enough free disk space - + You don't have enough free space on this disk, please make more space or choose a directory on another disk. - + Unable to write in directory - + You don't have the permission to write in this directory with your current user account, please choose another directory. - + Directory not empty - + This directory is not empty, please choose another one. @@ -90,27 +90,27 @@ CMainWindow - + About %1 - + Program to install, download and manage Ryzom profiles. - + Author: %1 - + Copyright: %1 - + Support: %1 @@ -118,42 +118,42 @@ CMigrateDialog - + Files will be installed to (requires %1): - + Please choose directory to install Ryzom in - + Not enough free disk space - + You don't have enough free space on this disk, please make more space or choose a directory on another disk. - + Unable to write in directory - + You don't have the permission to write in this directory with your current user account, please choose another directory. - + Directory not empty - + This directory is not empty, please choose another one. @@ -161,128 +161,128 @@ COperationDialog - + Updating profiles... - + Confirmation - + Warning, this server doesn't support resume! If you stop download now, you won't be able to resume it later. Are you sure to abort download? - + %p% (%v/%m KiB) - + Error - + Downloading data required by server %1... - + Extracting data required by server %1... - + Downloading client required by server %1... - + Extracting client required by server %1... - + Copying data required by server %1... - + Copying old profile to new location... - + Extracting client to new location... - + Copying installer to new location... - + Cleaning obsolete files... - + Creating default profile... - + Creating shortcuts for profile %1... - + Deleting client... - + Adding profiles... - + Deleting profiles... - + Deleting installer... - + Deleting downloaded files... - + Uninstall old client - + An old version of Ryzom has been detected on this system, would you like to uninstall it to save space disk? - + Unable to delete files for client %1 - + Unable to delete files for profile %1 @@ -306,17 +306,17 @@ Are you sure to delete this profile? - + Executables (*) - + Please choose Ryzom client executable to launch - + Executables (*.exe) @@ -574,77 +574,77 @@ Just press Continue button and follow the different steps until everything is do - + Profile: - + Name: - + Server: - + Atys - + Yubo - + Executable: - + Default - + Browse... - + Arguments: - + Comments: - + Directory: - + Open - + Create shortcuts: - + Desktop - + Start Menu @@ -652,117 +652,112 @@ Just press Continue button and follow the different steps until everything is do QApplication - + Error - + Unable to find ryzom_installer.ini - + Installation and launcher tool for Ryzom - + Uninstall - + Silent mode - + Version - + Install itself - - + + Unable to open %1 - - Unable to open output file + + Unable to open output file %1 - - Unable to write output file + + Unable to write output file %1 (%2 bytes written but expecting %3 bytes) - - + + 7zip decoder doesn't support this archive - + Unable to allocate memory - + File %1 is corrupted, unable to uncompress it - + Error %1 - + Unable to create directory %1 - + Unable to set permissions of %1 - + disk full - + unable to write %1 - + unable to read %1 - + failed (%1) - + Unable to unpack %1 to %2: %3 - - - Unable to copy file %1 - - Profile ID %1 is using invalid characters (only lowercase letters, numbers and underscore are allowed) @@ -773,6 +768,11 @@ Just press Continue button and follow the different steps until everything is do Profile name %1 is using invalid character %2 at position %3 + + + Unable to copy file %1 to %2 + + QObject diff --git a/code/ryzom/tools/client/ryzom_installer/translations/ryzom_installer_fr.ts b/code/ryzom/tools/client/ryzom_installer/translations/ryzom_installer_fr.ts index 2361048bf..b2499b8b5 100644 --- a/code/ryzom/tools/client/ryzom_installer/translations/ryzom_installer_fr.ts +++ b/code/ryzom/tools/client/ryzom_installer/translations/ryzom_installer_fr.ts @@ -4,42 +4,46 @@ CDownloader - + File is larger (%1B) than expected (%2B) Le fichier est plus volumineux (%1o) que prévu (%2o) - + + Error '%1' occurred when trying to check free disk space on %2. + Erreur '%1' détectée lors de la vérification de l'espace disque sur %2. + + + You only have %1 bytes left on the device, but %2 bytes are needed. Il vous reste %1 octets de libre sur le disque, mais %2 octets sont nécessaires. - + Unable to write file Impossible de créer le fichier - + Timeout Délai expiré - + Redirection URL is not defined L'URL de redirection n'est pas définie - File is not available, please retry later (status code: %1) - Le fichier est indisponible, veuillez réessayer ultérieurement (code de statut : %1) + Le fichier est indisponible, veuillez réessayer ultérieurement (code de statut : %1) - + Incorrect status code: %1 Code de statut incorrect : %1 - + HTTP error: %1 Errreur HTTP : %1 @@ -59,7 +63,7 @@ Internet (%1 à télécharger) - + Files will be installed to (requires %1): Les fichiers seront installés dans (%1 nécessaires) : @@ -76,7 +80,7 @@ Impossible de trouver Ryzom dans le répertoire sélectionné. Veuillez en choisir un autre ou annuler. - + Please choose directory to install Ryzom in Veuillez choisir le répertoire où Ryzom sera installé @@ -89,32 +93,32 @@ Non défini - + Not enough free disk space Espace disque insuffisant - + You don't have enough free space on this disk, please make more space or choose a directory on another disk. Vous ne disposez pas assez d'espace libre sur ce disque, veuillez en libérer ou choisir un répertoire sur un autre disque. - + Unable to write in directory Impossible d'écrire dans le répertoire - + You don't have the permission to write in this directory with your current user account, please choose another directory. Vous n'avez pas la permission d'écrire dans ce répertoire avec votre compte utilisateur courant, veuillez en choisir un autre. - + Directory not empty Répertoire non vide - + This directory is not empty, please choose another one. Ce répertoire n'est pas vide, veuillez en choisir un autre. @@ -126,27 +130,27 @@ CMainWindow - + About %1 À propos de %1 - + Program to install, download and manage Ryzom profiles. Programme pour installer, télécharger et gérer les profils de Ryzom. - + Author: %1 Auteur : %1 - + Copyright: %1 Copyright : %1 - + Support: %1 Assistance : %1 @@ -154,42 +158,42 @@ CMigrateDialog - + Files will be installed to (requires %1): Les fichiers seront installés dans (%1 nécessaires) : - + Please choose directory to install Ryzom in Veuillez choisir le répertoire où installer Ryzom - + Not enough free disk space Espace disque insuffisant - + You don't have enough free space on this disk, please make more space or choose a directory on another disk. Vous ne disposez pas assez d'espace libre sur ce disque, veuillez en libérer ou choisir un répertoire sur un autre disque. - + Unable to write in directory Impossible d'écrire dans le répertoire - + You don't have the permission to write in this directory with your current user account, please choose another directory. Vous n'avez pas la permission d'écrire dans ce répertoire avec votre compte utilisateur courant, veuillez en choisir un autre. - + Directory not empty Répertoire non vide - + This directory is not empty, please choose another one. Ce répertoire n'est pas vide, veuillez en choisir un autre. @@ -205,109 +209,109 @@ Mettre à jour les profils - + Updating profiles... Mise à jour des profils... - + Confirmation Confirmation - + Warning, this server doesn't support resume! If you stop download now, you won't be able to resume it later. Are you sure to abort download? Attention, ce serveur ne supporte pas la reprise de téléchargement ! Si vous arrêtez le téléchargement maintenant, vous ne pourrez pas le poursuivre ultérieurement. Êtes-vous sûr d'interrompre le téléchargement ? - + %p% (%v/%m KiB) %p% (%v/%m Kio) - + Error Erreur - + Downloading data required by server %1... Téléchargement des données nécessaires pour le serveur %1... - + Extracting data required by server %1... Extraction des données nécessaires pour le serveur %1... - + Downloading client required by server %1... Téléchargement du client nécessaire pour le serveur %1... - + Extracting client required by server %1... Extraction du client nécessaire pour le serveur %1... - + Copying data required by server %1... Copie des données nécessaires pour le serveur %1... - + Copying old profile to new location... Copie de l'ancien profil vers un nouvel emplacement... - + Extracting client to new location... Extraction du client vers un nouvel emplacement... - + Copying installer to new location... Copie de l'installateur vers un nouvel emplacement... - + Cleaning obsolete files... Nettoyage des fichiers obsolètes... - + Creating default profile... Création du profil par défaut... - + Creating shortcuts for profile %1... Création des raccourcis pour le profil %1... - + Deleting client... Suppression du client... - + Adding profiles... Ajout des profils... - + Deleting profiles... Suppression des profils... - + Deleting installer... Suppression de l'installateur... - + Deleting downloaded files... Suppression des fichiers téléchargés... @@ -356,12 +360,12 @@ Are you sure to abort download? Copier l'installateur vers un nouvel emplacement - + Uninstall old client Désinstaller l'ancien client - + An old version of Ryzom has been detected on this system, would you like to uninstall it to save space disk? Une ancienne version de Ryzom a été détectée sur ce système, souhaitez-vous la désinstaller afin de libérer de l'espace disque ? @@ -386,7 +390,7 @@ Are you sure to abort download? Supprimer les fichiers du client - + Unable to delete files for client %1 Impossible de supprimer les fichiers du client %1 @@ -407,7 +411,7 @@ Are you sure to abort download? Suppression du profil %1 en cours... - + Unable to delete files for profile %1 Impossible de supprimer les fichiers du profil %1 @@ -440,17 +444,17 @@ Are you sure to delete this profile? Êtes-vous sûr de supprimer ce profil ? - + Executables (*) Exécutables (*) - + Please choose Ryzom client executable to launch Veuillez choisir l'exécutable du client de Ryzom à lancer - + Executables (*.exe) Exécutables (*.exe) @@ -764,7 +768,7 @@ Vous n'avez qu'à cliquer sur Suivant et suivre les différentes étap Supprimer - + Profile: Profil : @@ -773,27 +777,27 @@ Vous n'avez qu'à cliquer sur Suivant et suivre les différentes étap 0 - + Name: Nom : - + Server: Serveur : - + Atys Atys - + Yubo Yubo - + Executable: Exécutable : @@ -802,27 +806,27 @@ Vous n'avez qu'à cliquer sur Suivant et suivre les différentes étap ryzom_client_r.exe - + Default Défaut - + Browse... Parcourir... - + Arguments: Arguments : - + Comments: Commentaires : - + Directory: Répertoire : @@ -831,22 +835,22 @@ Vous n'avez qu'à cliquer sur Suivant et suivre les différentes étap ~/.ryzom/0 - + Open Ouvrir - + Create shortcuts: Créer les raccourcis : - + Desktop Bureau - + Start Menu Menu Démarrer @@ -854,116 +858,123 @@ Vous n'avez qu'à cliquer sur Suivant et suivre les différentes étap QApplication - + Error Erreur - + Unable to find ryzom_installer.ini Impossible de trouver ryzom_installer.ini - + Installation and launcher tool for Ryzom Outil d'installation et lanceur pour Ryzom - + Uninstall Désinstaller - + Silent mode Mode silencieux - + Version Version - + Install itself S'auto-installer - - + + Unable to open %1 Impossible d'ouvrir %1 - Unable to open output file - Impossible d'ouvrir le fichier de sortie + Impossible d'ouvrir le fichier de sortie - Unable to write output file - Impossible d'écrire le fichier de sortie + Impossible d'écrire le fichier de sortie - - + + Unable to open output file %1 + Impossible d'ouvrir le fichier de sortie %1 + + + + Unable to write output file %1 (%2 bytes written but expecting %3 bytes) + Impossible d'écrire dans le fichier de sortie %1 (%2 octets écrits mais %3 octets attendus) + + + + 7zip decoder doesn't support this archive Le décodeur 7zip n'est pas compatible avec cette archive - + Unable to allocate memory Impossible d'allouer la mémoire - + File %1 is corrupted, unable to uncompress it Le fichier %1 est corrompu, impossible de le décompresser - + Error %1 Erreur %1 - + Unable to create directory %1 Impossible de créer le répertoire %1 - + Unable to set permissions of %1 Impossible de définir les permissions de %1 - + disk full disque plein - + unable to write %1 impossible d'écrire %1 - + unable to read %1 impossible de lire %1 - + failed (%1) échec (%1) - + Unable to unpack %1 to %2: %3 Impossible d'extraire %1 vers %2 : %3 - Unable to copy file %1 - Impossible de copier le fichier %1 + Impossible de copier le fichier %1 @@ -975,6 +986,11 @@ Vous n'avez qu'à cliquer sur Suivant et suivre les différentes étap Profile name %1 is using invalid character %2 at position %3 Le nom du profil %1 utilise un caractère invalide %2 à la position %3 + + + Unable to copy file %1 to %2 + Impossible de copier le fichier %1 vers %2 + QObject diff --git a/code/ryzom/tools/client/ryzom_installer/translations/ryzom_installer_ru.ts b/code/ryzom/tools/client/ryzom_installer/translations/ryzom_installer_ru.ts index 322327841..88f2dccfb 100644 --- a/code/ryzom/tools/client/ryzom_installer/translations/ryzom_installer_ru.ts +++ b/code/ryzom/tools/client/ryzom_installer/translations/ryzom_installer_ru.ts @@ -4,42 +4,46 @@ CDownloader - + File is larger (%1B) than expected (%2B) Размер файла больше (%1Б) чем ожидалось (%2Б) - + + Error '%1' occurred when trying to check free disk space on %2. + + + + You only have %1 bytes left on the device, but %2 bytes are needed. На диске осталось всего %1 байт, в то время как требуется %2 байт. - + Unable to write file Невозможно записать файл - + Timeout Тайм-аут - + Redirection URL is not defined URL перенаправления не определен - File is not available, please retry later (status code: %1) - Файл недоступен, пожалуйста, попробуйте позднее (код состояния: %1) + Файл недоступен, пожалуйста, попробуйте позднее (код состояния: %1) - + Incorrect status code: %1 Некорректный код состояния: %1 - + HTTP error: %1 @@ -59,7 +63,7 @@ Интернет (%1 для загрузки) - + Files will be installed to (requires %1): Файлы будут установлены в (требуется %1): @@ -76,7 +80,7 @@ Невозможно найти Ryzom в выбранной директории. Пожалуйста, выберите другую директорию или отмену. - + Please choose directory to install Ryzom in Пожалуйста, выберите директорию для установки Ryzom @@ -89,32 +93,32 @@ Не определено - + Not enough free disk space Недостаточно свободного места - + You don't have enough free space on this disk, please make more space or choose a directory on another disk. Недостаточно свободного места на выбранном диске, пожалуйста освободите место на диске или выберите директорию на другом диске. - + Unable to write in directory Невозможно осуществить запись в директорию - + You don't have the permission to write in this directory with your current user account, please choose another directory. У вашего текущего пользоввателя нет права записи в эту директорию, пожалуйста, выберите другую директорию. - + Directory not empty Директория не является пустой - + This directory is not empty, please choose another one. Эта директория не является пустой, пожалуйста, выберите другую. @@ -122,27 +126,27 @@ CMainWindow - + About %1 О %1 - + Program to install, download and manage Ryzom profiles. Программа для установки, загрузки и управления профилями Ryzom. - + Author: %1 Автор: %1 - + Copyright: %1 Копирайт: %1 - + Support: %1 Поддержка: %1 @@ -150,42 +154,42 @@ CMigrateDialog - + Files will be installed to (requires %1): Файлы будут установлены в (требуется %1): - + Please choose directory to install Ryzom in Пожалуйста, выберете директорию для установки Ryzom - + Not enough free disk space Недостаточно свободного места - + You don't have enough free space on this disk, please make more space or choose a directory on another disk. Недостаточно свободного места на выбранном диске, пожалуйста освободите место на диске или выберите директорию на другом диске. - + Unable to write in directory Невозможно осуществить запись в директорию - + You don't have the permission to write in this directory with your current user account, please choose another directory. У вашего текущего пользоввателя нет права записи в эту директорию, пожалуйста, выберите другую директорию. - + Directory not empty Директория не является пустой - + This directory is not empty, please choose another one. Эта директория не является пустой, пожалуйста, выберите другую. @@ -193,108 +197,108 @@ COperationDialog - + Updating profiles... Обновление профилей... - + Confirmation Подтверждение - + Warning, this server doesn't support resume! If you stop download now, you won't be able to resume it later. Are you sure to abort download? Внимание, данный сервер не поддерживает возобновление загрузки! Если вы сейчас прервете загрузку, вы не сможете возобновить ее позднее. Вы уверены, что хотите прервать загрузку? - + %p% (%v/%m KiB) %p% (%v/%m Кб) - + Error Ошибка - + Downloading data required by server %1... Загрузка данных, необходимых серверу %1... - + Extracting data required by server %1... Извлечение данных, необходимых серверу %1... - + Downloading client required by server %1... Загрузка клиента, необходимого серверу %1... - + Extracting client required by server %1... Извлечение файлов клиента, необходимых серверу %1... - + Copying data required by server %1... Копирование данных, необходимых серверу %1... - + Copying old profile to new location... Копирование предыдущего профиля в новое местоположение... - + Extracting client to new location... Извлечение файлов клиента в новое местоположение... - + Copying installer to new location... Копирование инсталлятора в новое местоположение... - + Cleaning obsolete files... Удаление устаревших файлов... - + Creating default profile... Создание профиля по умолчанию... - + Creating shortcuts for profile %1... Создание ярлыков для профиля %1... - + Deleting client... Удаление клиента... - + Adding profiles... Добавление профилей... - + Deleting profiles... Удаление профилей... - + Deleting installer... Удаление инсталлятора... - + Deleting downloaded files... Удаление загруженных файлов... @@ -331,12 +335,12 @@ Are you sure to abort download? Копирование %1... - + Uninstall old client Удалить предыдущую версию клиента - + An old version of Ryzom has been detected on this system, would you like to uninstall it to save space disk? В системе обнаружена предыдущая версия Ryzom, вы хотите удалить ее чтобы освободить место на диске? @@ -357,7 +361,7 @@ Are you sure to abort download? Удалить файлы клиента - + Unable to delete files for client %1 Невозможно удалить файлы клиента %1 @@ -378,7 +382,7 @@ Are you sure to abort download? Удаление профиля %1... - + Unable to delete files for profile %1 Невозможно удалить файлы профиля %1 @@ -410,17 +414,17 @@ Are you sure to delete this profile? Вы собираетесь удалить профиль, файлы профиля не будут удалены автоматически и их необходимо удалить вручную. Вы уверены, что хотите удалить этот профиль? - + Executables (*) - + Please choose Ryzom client executable to launch Пожалуйста, выберете исполняемый файл для запуска клиента Ryzom - + Executables (*.exe) Исполняемые файлы (*.exe) @@ -730,7 +734,7 @@ Just press Continue button and follow the different steps until everything is do Удалить - + Profile: Профиль: @@ -739,27 +743,27 @@ Just press Continue button and follow the different steps until everything is do 0 - + Name: Имя: - + Server: Сервер: - + Atys Atys - + Yubo - + Executable: Исполняемый файл: @@ -768,27 +772,27 @@ Just press Continue button and follow the different steps until everything is do ryzom_client_r.exe - + Default По умолчанию - + Browse... Открыть... - + Arguments: Аргументы: - + Comments: Комментарии: - + Directory: Директория: @@ -797,22 +801,22 @@ Just press Continue button and follow the different steps until everything is do ~/.ryzom/0 - + Open Открыть - + Create shortcuts: Создать ярлыки: - + Desktop Рабочий стол - + Start Menu меню Пуск @@ -820,116 +824,123 @@ Just press Continue button and follow the different steps until everything is do QApplication - + Error Ошибка - + Unable to find ryzom_installer.ini Невозможно найти ryzom_installer.ini - + Installation and launcher tool for Ryzom Программа установки и запуска Ryzom - + Uninstall Удалить - + Silent mode Фоновый режим (silent mode) - + Version Версия - + Install itself Установится - - + + Unable to open %1 Невозможно открыть %1 - Unable to open output file - Невозможно открыть выходной файл + Невозможно открыть выходной файл - Unable to write output file - Невозможно записать выходной файл + Невозможно записать выходной файл - - + + Unable to open output file %1 + + + + + Unable to write output file %1 (%2 bytes written but expecting %3 bytes) + + + + + 7zip decoder doesn't support this archive Архиватор 7zip не поддерживает данный тип архива - + Unable to allocate memory Невозможно выделить память - + File %1 is corrupted, unable to uncompress it - + Error %1 Ошибка %1 - + Unable to create directory %1 Невозможно создать директорию %1 - + Unable to set permissions of %1 Невозможно назначить права объекта %1 - + disk full диск переполнен - + unable to write %1 невозможно записать %1 - + unable to read %1 невозможно прочитать %1 - + failed (%1) неуспешно (%1) - + Unable to unpack %1 to %2: %3 Невозможно разархивировать %1 в %2: %3 - Unable to copy file %1 - Невозможно скопировать файл %1 + Невозможно скопировать файл %1 @@ -941,6 +952,11 @@ Just press Continue button and follow the different steps until everything is do Profile name %1 is using invalid character %2 at position %3 + + + Unable to copy file %1 to %2 + + QObject diff --git a/code/ryzom/tools/leveldesign/world_editor/world_editor_graph_plugin/graph_plugin.cpp b/code/ryzom/tools/leveldesign/world_editor/world_editor_graph_plugin/graph_plugin.cpp index 3f4c5edc9..d42b14eb8 100644 --- a/code/ryzom/tools/leveldesign/world_editor/world_editor_graph_plugin/graph_plugin.cpp +++ b/code/ryzom/tools/leveldesign/world_editor/world_editor_graph_plugin/graph_plugin.cpp @@ -154,13 +154,13 @@ void CGraphPlugin::refreshPrimitives() // ok, we find a good node try { - + IPrimitive *rootNode = missionTreeRoot; while (rootNode->getParent()) rootNode = rootNode->getParent(); string fileName = _PluginAccess->getRootFileName(rootNode); - + CMissionCompiler mc; mc.compileMission(missionTreeRoot, NLMISC::CFile::getFilename(fileName)); TMissionDataPtr md = mc.getMission(0); @@ -189,7 +189,7 @@ void CGraphPlugin::refreshPrimitives() AfxMessageBox(_T("BEWARE: the image couldn't be loaded.")); } - while (missionTreeRoot->getParent()!=NULL) + while (missionTreeRoot->getParent()!=NULL) { missionTreeRoot=missionTreeRoot->getParent(); } @@ -201,10 +201,10 @@ void CGraphPlugin::refreshPrimitives() if (e.Primitive != NULL) { string primName; - + vectSel.push_back(e.Primitive); e.Primitive->getPropertyByName("name", primName); - + err = toString("%s : %s", primName.c_str(), e.Why.c_str()); } AfxMessageBox(utf8ToTStr(err)); @@ -216,7 +216,7 @@ void CGraphPlugin::refreshPrimitives() } else { - refreshMachine(); + refreshMachine(); } if(vectSel.size()>0) @@ -244,8 +244,8 @@ void CGraphPlugin::refreshMachine() if ((predFolder(missionTreeRoot))|| ((missionTreeRoot=getPrimitiveParent((*first),predFolder))!=NULL)) { - - + + string dot = generateDotScript(missionTreeRoot); string tmpPath = string(::getenv("TEMP")); @@ -270,17 +270,17 @@ void CGraphPlugin::refreshMachine() if(!createBitmap(tmpPath)) AfxMessageBox(_T("BEWARE: the image couldn't be loaded.")); } - - while (missionTreeRoot->getParent()!=NULL) + + while (missionTreeRoot->getParent()!=NULL) { missionTreeRoot=missionTreeRoot->getParent(); } _rootFileName=_PluginAccess->getRootFileName(missionTreeRoot); - + } - else + else { list::const_iterator first(selection.begin()), last(selection.end()),curIte; IPrimitive* missionTreeRoot=(*first); @@ -288,8 +288,8 @@ void CGraphPlugin::refreshMachine() if ((predManager(missionTreeRoot))|| ((missionTreeRoot=getPrimitiveParent((*first),predManager))!=NULL)) { - - + + string dot = generateDotScript(missionTreeRoot); string tmpPath = string(::getenv("TEMP")); @@ -315,7 +315,7 @@ void CGraphPlugin::refreshMachine() AfxMessageBox(_T("BEWARE: the image couldn't be loaded.")); } - while (missionTreeRoot->getParent()!=NULL) + while (missionTreeRoot->getParent()!=NULL) { missionTreeRoot=missionTreeRoot->getParent(); } @@ -327,10 +327,10 @@ void CGraphPlugin::refreshMachine() } } - - + + } ////////////////////////////////////////////////////////////////////////// @@ -342,7 +342,7 @@ string CGraphPlugin::spaceTo_(string strInput) explode(strInput,string(" "),strTmp); if (strTmp.size()>1) { - + for(uint i=0;i strTmpTmp; @@ -394,10 +394,10 @@ string CGraphPlugin::createNode(IPrimitive* managerNode,string strPredicate,uin ret += NL ; ret += "}" ; ret += NL; - + } - + numClusters+=resSet.size(); return ret; } @@ -433,13 +433,13 @@ string CGraphPlugin::createParsedNode(IPrimitive* managerNode,string strPredica ret += parseStateMachine(resSet[i],spaceTo_(strName),string(""),string("_")+spaceTo_(strName)); ret += "}" ; ret += NL; - + } for (uint i=0; igetPropertyByName("name",strName); - + TPrimitiveClassPredicate predJump("npc_event_handler_action"); TPrimitiveSet resJump; offsprings.buildSet(resSet[i],predJump,resJump); @@ -460,7 +460,7 @@ string CGraphPlugin::createParsedNode(IPrimitive* managerNode,string strPredica if(primTail) primTail->getPropertyByName("name", labelTail); } - + vector *jumpDest; resJump[j]->getPropertyByName("action",strAction); if (strAction.compare(string("begin_state"))==0) @@ -471,7 +471,7 @@ string CGraphPlugin::createParsedNode(IPrimitive* managerNode,string strPredica ret +=spaceTo_(jumpDest->at(0)); ret +="[label="; ret +=spaceTo_(labelTail); - ret +="]"; + ret +="]"; ret += ";" ; ret += NL; } @@ -479,7 +479,7 @@ string CGraphPlugin::createParsedNode(IPrimitive* managerNode,string strPredica { vector* jumpDest; string strTmpTmpName; - + resJump[j]->getPropertyByName("parameters",jumpDest); resJump[j]->getPropertyByName("name",strTmpTmpName); @@ -496,13 +496,13 @@ string CGraphPlugin::createParsedNode(IPrimitive* managerNode,string strPredica ret +="_"; ret += spaceTo_(strName) ; ret +="->"; - + vector resJump; explode(jumpDest->at(k)," ",resJump); ret +=resJump[1]; ret+= ";"; ret+=NL; - + } }*/ if (strAction.compare(string("punctual_state"))==0) @@ -513,7 +513,7 @@ string CGraphPlugin::createParsedNode(IPrimitive* managerNode,string strPredica ret +=spaceTo_(jumpDest->at(0)); ret +="[label="; ret +=spaceTo_(labelTail); - ret +="]"; + ret +="]"; ret += ";" ; ret += NL; ret +=spaceTo_(jumpDest->at(0)); @@ -521,12 +521,12 @@ string CGraphPlugin::createParsedNode(IPrimitive* managerNode,string strPredica ret += strName ; ret +="[label="; ret +=spaceTo_(labelTail); - ret +="]"; + ret +="]"; ret += ";" ; ret += NL; } } - + } numClusters+=resSet.size(); return ret; @@ -573,17 +573,17 @@ string CGraphPlugin::parseStateMachine(NLLIGO::IPrimitive* currentNode,string em uint numChild=currentNode->getNumChildren(); for(uint i=0;igetChild(child,i); child->getPropertyByName("class",strClassName); child->getPropertyByName("name",strName); child->getPropertyByName("action",strAction); - + if (strClassName.compare(string("npc_group"))==0) { child->getPropertyByName("name",strName); - + ret+=spaceTo_(strName); ret+=tag; ret += " [URL=\""+buildPrimPath(child)+"\"];"+NL; @@ -670,7 +670,7 @@ string CGraphPlugin::parseStateMachine(NLLIGO::IPrimitive* currentNode,string em ret+=tag; first=true; } - + } ret+="}"; ret+='"'; @@ -704,7 +704,7 @@ string CGraphPlugin::parseStateMachine(NLLIGO::IPrimitive* currentNode,string em && (strClassName.compare("random_select_state")==0)) { vector* jumpDest; - child->getPropertyByName("parameters",jumpDest); + child->getPropertyByName("parameters",jumpDest); for(uint k=0;ksize();k++) { ret+=spaceTo_(strName); @@ -712,10 +712,10 @@ string CGraphPlugin::parseStateMachine(NLLIGO::IPrimitive* currentNode,string em ret+="->"; ret +=spaceTo_(jumpDest->at(k)); ret+= ";"; - ret+=NL; + ret+=NL; } } - + } ret+=NL; } @@ -745,7 +745,7 @@ string CGraphPlugin::parseStateMachine(NLLIGO::IPrimitive* currentNode,string em vector* jumpDest; bool first=true; child->getPropertyByName("parameters",jumpDest); - + ret += spaceTo_(strName) ; ret +="_"; ret += emiterNode; @@ -769,7 +769,7 @@ string CGraphPlugin::parseStateMachine(NLLIGO::IPrimitive* currentNode,string em ret +=resJump[1]; ret+= ";"; ret+=NL; - + } ret+=emiterNode; ret += "->"; @@ -782,11 +782,11 @@ string CGraphPlugin::parseStateMachine(NLLIGO::IPrimitive* currentNode,string em else { ret+=parseStateMachine(child,emiterNode,tailLabel,tag); - + } - - - } + + + } currentNode->getPropertyByName("class",strClassName); currentNode->getPropertyByName("name",strName); currentNode->getPropertyByName("action",strAction); @@ -816,7 +816,7 @@ string CGraphPlugin::parseStateMachine(NLLIGO::IPrimitive* currentNode,string em ret+=NL; } return ret; - + } bool CGraphPlugin::createBitmap (const string &tmpPath) @@ -831,10 +831,10 @@ bool CGraphPlugin::createBitmap (const string &tmpPath) } WORD retour; - - if(retour=bitmap.load(pngLocation)) - { - + + if(retour=bitmap.load(pngLocation)) + { + HBITMAP &_Hbmp=GraphDlg->_Hbmp; HBITMAP &_Hdib=GraphDlg->_Hdib; @@ -842,7 +842,7 @@ bool CGraphPlugin::createBitmap (const string &tmpPath) BITMAPINFO &_DibBitmapInfo=GraphDlg->_DibBitmapInfo;; uint8* &_DibBits=GraphDlg->_DibBits; - + _DibBitmapInfo.bmiHeader.biSize = sizeof(BITMAPINFO); _DibBitmapInfo.bmiHeader.biWidth = bitmap.getWidth(); _DibBitmapInfo.bmiHeader.biHeight = bitmap.getHeight(); @@ -857,8 +857,8 @@ bool CGraphPlugin::createBitmap (const string &tmpPath) // Create the bitmap HWND desktop = ::GetDesktopWindow(); - HDC dc = ::GetDC (desktop); - + HDC dc = ::GetDC (desktop); + nlverify(_Hdib = CreateDIBSection(dc, &_DibBitmapInfo, DIB_RGB_COLORS, (void**)&_DibBits, NULL, 0)); @@ -920,7 +920,6 @@ void CGraphPlugin::unsetDlgGraph() _PluginActive=false; } - void CGraphPlugin::doSelection(const string& primPath) { IPrimitive *rootNode; @@ -930,7 +929,7 @@ void CGraphPlugin::doSelection(const string& primPath) if(_PluginAccess->getCurrentSelection().size()>0) { - + try { rootNode=(IPrimitive*)_PluginAccess->getRootNode(_rootFileName); diff --git a/code/studio/src/plugins/mission_compiler/mission_compiler_main_window.cpp b/code/studio/src/plugins/mission_compiler/mission_compiler_main_window.cpp index e7e9c99c0..a8088aded 100644 --- a/code/studio/src/plugins/mission_compiler/mission_compiler_main_window.cpp +++ b/code/studio/src/plugins/mission_compiler/mission_compiler_main_window.cpp @@ -89,8 +89,10 @@ MissionCompilerMainWindow::MissionCompilerMainWindow(QWidget *parent) : settings->endGroup(); NLLIGO::Register(); + // TODO try/catch exception. Crashes if path invalid. - try{ + try + { m_ligoConfig.readPrimitiveClass(NLMISC::CPath::lookup("world_editor_classes.xml").c_str(), false); } catch(const NLMISC::Exception &e)