diff --git a/code/ryzom/client/client_default.cfg b/code/ryzom/client/client_default.cfg index 66c260273..444f8d20a 100644 --- a/code/ryzom/client/client_default.cfg +++ b/code/ryzom/client/client_default.cfg @@ -415,13 +415,7 @@ SystemInfoColors = "R2_INVITE","0 255 0 255 around", // Ring invitation }; -PrintfCommands = { - "0", "132", "30 144 255 255", "18", "uiS2", - "0", "105", "255 188 0 255", "14", "uiS2E0", - "0", "65", "255 255 255 255", "12", "NEWS" -}; - -PrintfCommandsFreeTrial = { +loadingTexts = { "0", "132", "30 144 255 255", "18", "uiS2", "0", "105", "255 188 0 255", "14", "uiS2E0", "0", "65", "255 255 255 255", "12", "NEWS" diff --git a/code/ryzom/client/src/client_cfg.cpp b/code/ryzom/client/src/client_cfg.cpp index 7f0222088..bcb6384de 100644 --- a/code/ryzom/client/src/client_cfg.cpp +++ b/code/ryzom/client/src/client_cfg.cpp @@ -1413,36 +1413,28 @@ void CClientConfig::setValues() #ifndef RZ_NO_CLIENT // printf commands in loading screens - ClientCfg.PrintfCommands.clear(); - ClientCfg.PrintfCommandsFreeTrial.clear(); - std::vector< std::string > printfCommands(2); - printfCommands[0] = "PrintfCommands"; - printfCommands[1] = "PrintfCommandsFreeTrial"; - for(uint p=0; p<2; p++) + ClientCfg.loadingTexts.clear(); + CConfigFile::CVar *pc = ClientCfg.ConfigFile.getVarPtr("loadingTexts"); + if (pc) { - CConfigFile::CVar *pc = ClientCfg.ConfigFile.getVarPtr(printfCommands[p].c_str()); - if (pc) + if( pc->size()%5 == 0 && pc->size() >= 5) { - if( pc->size()%5 == 0 && pc->size() >= 5) + for (uint i = 0; i < pc->size(); i+=5) { - for (uint i = 0; i < pc->size(); i+=5) - { - SPrintfCommand pcom; - pcom.X = pc->asInt(i); - pcom.Y = pc->asInt(i+1); - pcom.Color = CRGBA::stringToRGBA( pc->asString(i+2).c_str() ); - pcom.FontSize = pc->asInt(i+3); - pcom.Text = pc->asString(i+4); - - if(p==0) ClientCfg.PrintfCommands.push_back( pcom ); - else ClientCfg.PrintfCommandsFreeTrial.push_back( pcom ); - } - } - else - { - cfgWarning(("Missing or too many parameters in " + printfCommands[p]).c_str()); + SPrintfCommand pcom; + pcom.X = pc->asInt(i); + pcom.Y = pc->asInt(i+1); + pcom.Color = CRGBA::stringToRGBA( pc->asString(i+2).c_str() ); + pcom.FontSize = pc->asInt(i+3); + pcom.Text = pc->asString(i+4); + + ClientCfg.loadingTexts.push_back( pcom ); } } + else + { + cfgWarning("Missing or too many parameters in loadingTexts"); + } } #endif diff --git a/code/ryzom/client/src/client_cfg.h b/code/ryzom/client/src/client_cfg.h index 7c1fa2ad6..896d0bffd 100644 --- a/code/ryzom/client/src/client_cfg.h +++ b/code/ryzom/client/src/client_cfg.h @@ -699,9 +699,7 @@ struct CClientConfig uint FontSize; std::string Text; }; - std::vector PrintfCommands; - - std::vector PrintfCommandsFreeTrial; + std::vector loadingTexts; // funny loading messages count uint16 LoadingStringCount; diff --git a/code/ryzom/client/src/progress.cpp b/code/ryzom/client/src/progress.cpp index fd46c8183..8847a87a9 100644 --- a/code/ryzom/client/src/progress.cpp +++ b/code/ryzom/client/src/progress.cpp @@ -367,15 +367,14 @@ void CProgress::internalProgress (float value) // apply text commands if( ApplyTextCommands ) { - std::vector printfCommands = ClientCfg.PrintfCommands; - if(FreeTrial) printfCommands = ClientCfg.PrintfCommandsFreeTrial; + std::vector loadingTexts = ClientCfg.loadingTexts; - if( !printfCommands.empty() ) + if( !loadingTexts.empty() ) { TextContext->setHotSpot(UTextContext::MiddleBottom); vector::iterator itpc; - for( itpc = printfCommands.begin(); itpc != printfCommands.end(); ++itpc ) + for( itpc = loadingTexts.begin(); itpc != loadingTexts.end(); ++itpc ) { float x = 0.5f;//((*itpc).X / 1024.f); float y = ((*itpc).Y / 768.f);