Changed: #1433 Merge changes from patch 1.13
This commit is contained in:
parent
033c2ecf0e
commit
d5731ad5ea
5 changed files with 31 additions and 17 deletions
|
@ -1347,6 +1347,7 @@ void CClientConfig::setValues()
|
||||||
if (stricmp(mode, "over") == 0) p.Mode = SSysInfoParam::Over;
|
if (stricmp(mode, "over") == 0) p.Mode = SSysInfoParam::Over;
|
||||||
else if (stricmp(mode, "overonly") == 0) p.Mode = SSysInfoParam::OverOnly;
|
else if (stricmp(mode, "overonly") == 0) p.Mode = SSysInfoParam::OverOnly;
|
||||||
else if (stricmp(mode, "center") == 0) p.Mode = SSysInfoParam::Center;
|
else if (stricmp(mode, "center") == 0) p.Mode = SSysInfoParam::Center;
|
||||||
|
else if (stricmp(mode, "centeraround") == 0) p.Mode = SSysInfoParam::CenterAround;
|
||||||
else if (stricmp(mode, "around") == 0) p.Mode = SSysInfoParam::Around;
|
else if (stricmp(mode, "around") == 0) p.Mode = SSysInfoParam::Around;
|
||||||
|
|
||||||
ClientCfg.SystemInfoParams[toLower(sic->asString(2 * k))] = p;
|
ClientCfg.SystemInfoParams[toLower(sic->asString(2 * k))] = p;
|
||||||
|
|
|
@ -635,12 +635,15 @@ struct CClientConfig
|
||||||
// Mode is the display settings :
|
// Mode is the display settings :
|
||||||
// Normal : just display in the system info window
|
// Normal : just display in the system info window
|
||||||
// Over : must be displayed at bottom of the screen and in system info window
|
// Over : must be displayed at bottom of the screen and in system info window
|
||||||
|
// OverOnly : must be displayed at bottom of the screen
|
||||||
// Center ; must be displayed at the center of the screen and in system info window
|
// Center ; must be displayed at the center of the screen and in system info window
|
||||||
|
// Around ; must be displayed in the around chat window
|
||||||
|
// CenterAround ; must be displayed at the center of the screen and in around chat window
|
||||||
struct SSysInfoParam
|
struct SSysInfoParam
|
||||||
{
|
{
|
||||||
CRGBA Color;
|
CRGBA Color;
|
||||||
std::string SysInfoFxName;
|
std::string SysInfoFxName;
|
||||||
enum TMode { Normal, Over, OverOnly, Center, Around };
|
enum TMode { Normal, Over, OverOnly, Center, Around, CenterAround };
|
||||||
TMode Mode;
|
TMode Mode;
|
||||||
SSysInfoParam()
|
SSysInfoParam()
|
||||||
{
|
{
|
||||||
|
|
|
@ -244,6 +244,7 @@ CInterfaceGroup *CInterfaceHelp::activateNextWindow(CDBCtrlSheet *elt, sint forc
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool showSlotAndCreator = false;
|
||||||
// If an active window get the same object, abort, but make it top.
|
// If an active window get the same object, abort, but make it top.
|
||||||
for(i=0;i<_ActiveWindows.size();i++)
|
for(i=0;i<_ActiveWindows.size();i++)
|
||||||
{
|
{
|
||||||
|
@ -251,10 +252,8 @@ CInterfaceGroup *CInterfaceHelp::activateNextWindow(CDBCtrlSheet *elt, sint forc
|
||||||
CDBCtrlSheet *ctrlSrc= elt;
|
CDBCtrlSheet *ctrlSrc= elt;
|
||||||
// get the ctrl sheet in this help window.
|
// get the ctrl sheet in this help window.
|
||||||
CDBCtrlSheet *ctrlDst= dynamic_cast<CDBCtrlSheet*>(group->getCtrl(":ctrl_slot"));
|
CDBCtrlSheet *ctrlDst= dynamic_cast<CDBCtrlSheet*>(group->getCtrl(":ctrl_slot"));
|
||||||
bool showSlotAndCreator = false;
|
|
||||||
if(ctrlDst && ctrlSrc)
|
if(ctrlDst && ctrlSrc)
|
||||||
{
|
{
|
||||||
showSlotAndCreator = true;
|
|
||||||
// if same Aspect
|
// if same Aspect
|
||||||
if( ctrlSrc->sameAspect(ctrlDst) )
|
if( ctrlSrc->sameAspect(ctrlDst) )
|
||||||
{
|
{
|
||||||
|
@ -263,6 +262,8 @@ CInterfaceGroup *CInterfaceHelp::activateNextWindow(CDBCtrlSheet *elt, sint forc
|
||||||
// for items, must also test if they have the same itemSlotId, cause relies also on "ItemInfo system"
|
// for items, must also test if they have the same itemSlotId, cause relies also on "ItemInfo system"
|
||||||
if(elt->getType() == CCtrlSheetInfo::SheetType_Item)
|
if(elt->getType() == CCtrlSheetInfo::SheetType_Item)
|
||||||
{
|
{
|
||||||
|
showSlotAndCreator = true;
|
||||||
|
|
||||||
CDBCtrlSheet *realCtrlDst= _InfoWindows[_ActiveWindows[i]].CtrlSheet;
|
CDBCtrlSheet *realCtrlDst= _InfoWindows[_ActiveWindows[i]].CtrlSheet;
|
||||||
if(!realCtrlDst)
|
if(!realCtrlDst)
|
||||||
ok= false;
|
ok= false;
|
||||||
|
@ -279,13 +280,6 @@ CInterfaceGroup *CInterfaceHelp::activateNextWindow(CDBCtrlSheet *elt, sint forc
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
CInterfaceElement *ctrl = group->getElement(group->getId()+":content:ctrl_slot");
|
|
||||||
if (ctrl) ctrl->setActive(showSlotAndCreator);
|
|
||||||
ctrl = group->getElement(group->getId()+":content:creator");
|
|
||||||
if (ctrl) ctrl->setActive(showSlotAndCreator);
|
|
||||||
ctrl = group->getElement(group->getId()+":content:creator_header");
|
|
||||||
if (ctrl) ctrl->setActive(showSlotAndCreator);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// If some free window possible, search which to take
|
// If some free window possible, search which to take
|
||||||
|
@ -353,6 +347,13 @@ CInterfaceGroup *CInterfaceHelp::activateNextWindow(CDBCtrlSheet *elt, sint forc
|
||||||
CInterfaceGroup *group= _InfoWindows[newIndexWindow].Window;
|
CInterfaceGroup *group= _InfoWindows[newIndexWindow].Window;
|
||||||
nlassert(group);
|
nlassert(group);
|
||||||
|
|
||||||
|
CInterfaceElement *ctrl = group->getElement(group->getId()+":content:ctrl_slot");
|
||||||
|
if (ctrl) ctrl->setActive(showSlotAndCreator);
|
||||||
|
ctrl = group->getElement(group->getId()+":content:creator");
|
||||||
|
if (ctrl) ctrl->setActive(showSlotAndCreator);
|
||||||
|
ctrl = group->getElement(group->getId()+":content:creator_header");
|
||||||
|
if (ctrl) ctrl->setActive(showSlotAndCreator);
|
||||||
|
|
||||||
// activate it, set top, copy item watched
|
// activate it, set top, copy item watched
|
||||||
group->setActive(true);
|
group->setActive(true);
|
||||||
pIM->setTopWindow(group);
|
pIM->setTopWindow(group);
|
||||||
|
@ -1226,6 +1227,7 @@ static void setupSkillToTradeHelp(CSheetHelpSetup &setup)
|
||||||
if(setup.DestSheet)
|
if(setup.DestSheet)
|
||||||
{
|
{
|
||||||
setup.SrcSheet->copyAspect(setup.DestSheet);
|
setup.SrcSheet->copyAspect(setup.DestSheet);
|
||||||
|
setup.DestSheet->setActive(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
ucstring skillText;
|
ucstring skillText;
|
||||||
|
@ -2287,6 +2289,7 @@ static void setupItemHelp(CSheetHelpSetup &setup)
|
||||||
if(setup.DestSheet)
|
if(setup.DestSheet)
|
||||||
{
|
{
|
||||||
setup.SrcSheet->copyAspect(setup.DestSheet);
|
setup.SrcSheet->copyAspect(setup.DestSheet);
|
||||||
|
setup.DestSheet->setActive(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// NB: for raw materials only, must do each once only, must not do it at refresh, cause combo reseted
|
// NB: for raw materials only, must do each once only, must not do it at refresh, cause combo reseted
|
||||||
|
@ -2575,6 +2578,7 @@ static void setupPactHelp(CSheetHelpSetup &setup)
|
||||||
if(setup.DestSheet)
|
if(setup.DestSheet)
|
||||||
{
|
{
|
||||||
setup.SrcSheet->copyAspect(setup.DestSheet);
|
setup.SrcSheet->copyAspect(setup.DestSheet);
|
||||||
|
setup.DestSheet->setActive(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2612,6 +2616,7 @@ static void setupMissionHelp(CSheetHelpSetup &setup)
|
||||||
if(setup.DestSheet)
|
if(setup.DestSheet)
|
||||||
{
|
{
|
||||||
setup.SrcSheet->copyAspect(setup.DestSheet);
|
setup.SrcSheet->copyAspect(setup.DestSheet);
|
||||||
|
setup.DestSheet->setActive(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// get detail text id from db
|
// get detail text id from db
|
||||||
|
@ -2849,6 +2854,7 @@ void setupOutpostBuildingHelp(CSheetHelpSetup &setup)
|
||||||
if(setup.DestSheet)
|
if(setup.DestSheet)
|
||||||
{
|
{
|
||||||
setup.SrcSheet->copyAspect(setup.DestSheet);
|
setup.SrcSheet->copyAspect(setup.DestSheet);
|
||||||
|
setup.DestSheet->setActive(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
const COutpostBuildingSheet *pOBS = setup.SrcSheet->asOutpostBuildingSheet();
|
const COutpostBuildingSheet *pOBS = setup.SrcSheet->asOutpostBuildingSheet();
|
||||||
|
@ -3173,6 +3179,7 @@ void setupSabrinaPhraseHelp(CSheetHelpSetup &setup, const CSPhraseCom &phrase, u
|
||||||
if(setup.DestSheet)
|
if(setup.DestSheet)
|
||||||
{
|
{
|
||||||
setup.SrcSheet->copyAspect(setup.DestSheet);
|
setup.SrcSheet->copyAspect(setup.DestSheet);
|
||||||
|
setup.DestSheet->setActive(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// **** setup the phrase Text info
|
// **** setup the phrase Text info
|
||||||
|
@ -3242,6 +3249,7 @@ static void setupSabrinaBrickHelp(CSheetHelpSetup &setup, bool auraDisabled)
|
||||||
if(setup.DestSheet)
|
if(setup.DestSheet)
|
||||||
{
|
{
|
||||||
setup.SrcSheet->copyAspect(setup.DestSheet);
|
setup.SrcSheet->copyAspect(setup.DestSheet);
|
||||||
|
setup.DestSheet->setActive(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4404,12 +4404,14 @@ void CInterfaceManager::displaySystemInfo(const ucstring &str, const string &cat
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (mode == CClientConfig::SSysInfoParam::Center || mode == CClientConfig::SSysInfoParam::CenterAround)
|
||||||
|
InSceneBubbleManager.addMessagePopupCenter(str, color);
|
||||||
|
|
||||||
// If over popup a string at the bottom of the screen
|
// If over popup a string at the bottom of the screen
|
||||||
if ((mode == CClientConfig::SSysInfoParam::Over) || (mode == CClientConfig::SSysInfoParam::OverOnly))
|
if ((mode == CClientConfig::SSysInfoParam::Over) || (mode == CClientConfig::SSysInfoParam::OverOnly))
|
||||||
InSceneBubbleManager.addMessagePopup(str, color);
|
InSceneBubbleManager.addMessagePopup(str, color);
|
||||||
else if (mode == CClientConfig::SSysInfoParam::Center)
|
else if ( (mode == CClientConfig::SSysInfoParam::Around || mode == CClientConfig::SSysInfoParam::CenterAround)
|
||||||
InSceneBubbleManager.addMessagePopupCenter(str, color);
|
&& PeopleInterraction.AroundMe.Window)
|
||||||
else if (mode == CClientConfig::SSysInfoParam::Around && PeopleInterraction.AroundMe.Window)
|
|
||||||
PeopleInterraction.ChatInput.AroundMe.displayMessage(str, color, 2);
|
PeopleInterraction.ChatInput.AroundMe.displayMessage(str, color, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1628,10 +1628,10 @@ vector<ucstring> CStringManagerClient::getTitleInfos(const std::string &titleId,
|
||||||
|
|
||||||
if (listInfos.size() > 0)
|
if (listInfos.size() > 0)
|
||||||
{
|
{
|
||||||
string title = listInfos[0].toUtf8();
|
if (titleId[0] != '#')
|
||||||
if (titleId[0] == '#')
|
{
|
||||||
title = "#" + title;
|
listInfos[0] = getSpecialWord(listInfos[0].toUtf8(), women);
|
||||||
listInfos[0] = getSpecialWord(title, women);
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return listInfos;
|
return listInfos;
|
||||||
|
|
Loading…
Reference in a new issue