From 2368805d2fcd5602d22183d411b7829a91383946 Mon Sep 17 00:00:00 2001 From: kervala Date: Sun, 20 Dec 2015 19:26:36 +0100 Subject: [PATCH] Merge with develop --- code/ryzom/client/src/debug_client.cpp | 10 ++--- .../client/src/interface_v3/character_3d.cpp | 44 ++++++++++++------- code/ryzom/client/src/login_patch.cpp | 31 +++++++++++-- code/ryzom/client/src/player_cl.cpp | 44 ++++++++++++------- 4 files changed, 88 insertions(+), 41 deletions(-) diff --git a/code/ryzom/client/src/debug_client.cpp b/code/ryzom/client/src/debug_client.cpp index 79f8ae4a4..4d5dc3a1b 100644 --- a/code/ryzom/client/src/debug_client.cpp +++ b/code/ryzom/client/src/debug_client.cpp @@ -154,15 +154,15 @@ void flushDebugStack(const std::string &title) strTmp = toString("\n"); DebugFile.serialBuffer((uint8*)strTmp.c_str(), (uint)strTmp.size()); } - // No Output File -> nlwarning - else + // No Output File -> nldebug only if DisableNLDebug not set to true + else if (!DisableNLDebug) { - nlwarning("%s", title.c_str()); + nldebug("%s", title.c_str()); for(uint i=0; igetShapeFemale(); // use the right type of boots if wearing a caster dress - if ((s == SLOTTYPE::FEET_SLOT) && (item->ItemType == ITEM_TYPE::LIGHT_BOOTS)) + if ((s == SLOTTYPE::FEET_SLOT) && (item->ItemType == ITEM_TYPE::LIGHT_BOOTS || item->ItemType == ITEM_TYPE::MEDIUM_BOOTS || item->ItemType == ITEM_TYPE::HEAVY_BOOTS)) { std::string shapeLegs = Parts[Char3DPart_Legs].Name; @@ -458,27 +458,39 @@ void SCharacter3DSetup::setupFromCS_ModelCol (SLOTTYPE::EVisualSlot s, sint32 mo tmpName.replace(posBottes+7, 0, "_" + orgType); tmpName.replace(7, orgType.length(), "caster01"); - // temporary hack because Fyros boots don't respect conventions - if (tmpName[0] == 'f') - { - if (tmpName[5] == 'f') - { - tmpName = "fy_hof_caster01_bottes_civil.shape"; - } - else - { - tmpName = "fy_hom_caster01_civil01_bottes.shape"; - } - } - - // use fixed shape name only if file is present if (CPath::exists(tmpName)) { + // use fixed shape name only if file is present Parts[part].Name = tmpName; } else { - nlwarning("File %s doesn't exist, use %s", tmpName.c_str(), Parts[part].Name.c_str()); + // temporary hack because Fyros light boots don't respect conventions + if (tmpName[0] == 'f' && (item->ItemType == ITEM_TYPE::LIGHT_BOOTS)) + { + if (tmpName[5] == 'f') + { + tmpName = "fy_hof_caster01_bottes_civil.shape"; + } + else + { + tmpName = "fy_hom_caster01_civil01_bottes.shape"; + } + + // use fixed shape name only if file is present + if (CPath::exists(tmpName)) + { + Parts[part].Name = tmpName; + } + else + { + nlwarning("File %s doesn't exist, use %s", tmpName.c_str(), Parts[part].Name.c_str()); + } + } + else + { + nlwarning("File %s doesn't exist, use %s", tmpName.c_str(), Parts[part].Name.c_str()); + } } } } diff --git a/code/ryzom/client/src/login_patch.cpp b/code/ryzom/client/src/login_patch.cpp index 42b9a530d..9c0cbb9fd 100644 --- a/code/ryzom/client/src/login_patch.cpp +++ b/code/ryzom/client/src/login_patch.cpp @@ -201,11 +201,34 @@ CPatchManager::CPatchManager() : State("t_state"), DataScanState("t_data_scan_st _StateListener = NULL; _StartRyzomAtEnd = true; -#ifdef NL_OS_UNIX - // don't use cfg, exe and dll from Windows version + // only download binaries for current platform ForceRemovePatchCategories.clear(); ForceRemovePatchCategories.push_back("main_exedll"); - ForceRemovePatchCategories.push_back("main_cfg"); +#if defined(NL_OS_WIN64) + ForceRemovePatchCategories.push_back("main_exedll_win32"); + ForceRemovePatchCategories.push_back("main_exedll_linux32"); + ForceRemovePatchCategories.push_back("main_exedll_linux64"); + ForceRemovePatchCategories.push_back("main_exedll_osx"); +#elif defined(NL_OS_WIN32) + ForceRemovePatchCategories.push_back("main_exedll_win34"); + ForceRemovePatchCategories.push_back("main_exedll_linux32"); + ForceRemovePatchCategories.push_back("main_exedll_linux64"); + ForceRemovePatchCategories.push_back("main_exedll_osx"); +#elif defined(NL_OS_APPLE) + ForceRemovePatchCategories.push_back("main_exedll_win32"); + ForceRemovePatchCategories.push_back("main_exedll_win34"); + ForceRemovePatchCategories.push_back("main_exedll_linux32"); + ForceRemovePatchCategories.push_back("main_exedll_linux64"); +#elif defined(NL_OS_UNIX) && defined(_LP64) + ForceRemovePatchCategories.push_back("main_exedll_win32"); + ForceRemovePatchCategories.push_back("main_exedll_win34"); + ForceRemovePatchCategories.push_back("main_exedll_linux32"); + ForceRemovePatchCategories.push_back("main_exedll_osx"); +#else + ForceRemovePatchCategories.push_back("main_exedll_win32"); + ForceRemovePatchCategories.push_back("main_exedll_win64"); + ForceRemovePatchCategories.push_back("main_exedll_linux64"); + ForceRemovePatchCategories.push_back("main_exedll_osx"); #endif } @@ -3029,7 +3052,7 @@ void CPatchThread::processFile (CPatchManager::SFileToPatch &rFTP) // to apply a single patch from a refrence version to them. (so here we necessarily got // 'rFTP.Patches.size() == 1' !) // The reference version itself is incrementally patched, however, and may be rebuilt from time to time - // when the delta to the reference has become to big (but is most of the time < to the sum of equivallent delta patchs) + // when the delta to the reference has become too big (but is most of the time < to the sum of equivallent delta patchs) // The non-incremental final patch (from ref file to final bnp), is guaranteed to be done last // after the reference file has been updated diff --git a/code/ryzom/client/src/player_cl.cpp b/code/ryzom/client/src/player_cl.cpp index f94fb5e78..a086855ab 100644 --- a/code/ryzom/client/src/player_cl.cpp +++ b/code/ryzom/client/src/player_cl.cpp @@ -543,7 +543,7 @@ void CPlayerCL::equip(SLOTTYPE::EVisualSlot slot, uint index, uint color) std::string shapeName = _Gender == GSGENDER::female ? item->getShapeFemale():item->getShape(); // use the right type of boots if wearing a caster dress - if ((slot == SLOTTYPE::FEET_SLOT) && (item->ItemType == ITEM_TYPE::LIGHT_BOOTS)) + if ((slot == SLOTTYPE::FEET_SLOT) && (item->ItemType == ITEM_TYPE::LIGHT_BOOTS || item->ItemType == ITEM_TYPE::MEDIUM_BOOTS || item->ItemType == ITEM_TYPE::HEAVY_BOOTS)) { std::string shapeLegs; @@ -569,27 +569,39 @@ void CPlayerCL::equip(SLOTTYPE::EVisualSlot slot, uint index, uint color) tmpName.replace(posBottes+7, 0, "_" + orgType); tmpName.replace(7, orgType.length(), "caster01"); - // temporary hack because Fyros boots don't respect conventions - if (tmpName[0] == 'f') - { - if (tmpName[5] == 'f') - { - tmpName = "fy_hof_caster01_bottes_civil.shape"; - } - else - { - tmpName = "fy_hom_caster01_civil01_bottes.shape"; - } - } - - // use fixed shape name only if file is present if (CPath::exists(tmpName)) { + // use fixed shape name only if file is present shapeName = tmpName; } else { - nlwarning("File %s doesn't exist, use %s", tmpName.c_str(), shapeName.c_str()); + // temporary hack because Fyros light boots don't respect conventions + if (tmpName[0] == 'f' && (item->ItemType == ITEM_TYPE::LIGHT_BOOTS)) + { + if (tmpName[5] == 'f') + { + tmpName = "fy_hof_caster01_bottes_civil.shape"; + } + else + { + tmpName = "fy_hom_caster01_civil01_bottes.shape"; + } + + // use fixed shape name only if file is present + if (CPath::exists(tmpName)) + { + shapeName = tmpName; + } + else + { + nlwarning("File %s doesn't exist, use %s", tmpName.c_str(), shapeName.c_str()); + } + } + else + { + nlwarning("File %s doesn't exist, use %s", tmpName.c_str(), shapeName.c_str()); + } } } }