diff --git a/src/CommandLineActions.cpp b/src/CommandLineActions.cpp index 91b20f7897..553891c420 100644 --- a/src/CommandLineActions.cpp +++ b/src/CommandLineActions.cpp @@ -1,162 +1,162 @@ -#include "global.h" -#include "CommandLineActions.h" -#include "RageFile.h" -#include "RageUtil.h" -#include "IniFile.h" -#include "XmlFile.h" -#include "XmlFileUtil.h" -#include "LuaManager.h" -#include "ProductInfo.h" -#include "DateTime.h" -#include "Foreach.h" -#include "arch/Dialog/Dialog.h" -#include "RageFileManager.h" -#include "SpecialFiles.h" -#include "FileDownload.h" -#include "arch/LoadingWindow/LoadingWindow.h" -#include "Preference.h" -#include "JsonUtil.h" -#include "ScreenInstallOverlay.h" - -// only used for Version() -#if defined(_WINDOWS) -#include -#include -#endif - -/** @brief The directory where languages should be installed. */ -const RString INSTALLER_LANGUAGES_DIR = "Themes/_Installer/Languages/"; - -vector CommandLineActions::ToProcess; - -static void Nsis() -{ - RageFile out; - if(!out.Open("nsis_strings_temp.inc", RageFile::WRITE)) - RageException::Throw("Error opening file for write."); - - vector vs; - GetDirListing(INSTALLER_LANGUAGES_DIR + "*.ini", vs, false, false); - FOREACH_CONST(RString, vs, s) - { - RString sThrowAway, sLangCode; - splitpath(*s, sThrowAway, sLangCode, sThrowAway); - const LanguageInfo *pLI = GetLanguageInfo(sLangCode); - - RString sLangNameUpper = pLI->szEnglishName; - sLangNameUpper.MakeUpper(); - - IniFile ini; - if(!ini.ReadFile(INSTALLER_LANGUAGES_DIR + *s)) - RageException::Throw("Error opening file for read."); - FOREACH_CONST_Child(&ini, child) - { - FOREACH_CONST_Attr(child, attr) - { - RString sName = attr->first; - RString sValue = attr->second->GetValue(); - sValue.Replace("\\n", "$\\n"); - RString sLine = ssprintf("LangString %s ${LANG_%s} \"%s\"", sName.c_str(), sLangNameUpper.c_str(), sValue.c_str()); - out.PutLine(sLine); - } - } - } -} -static void LuaInformation() -{ - XNode *pNode = LuaHelpers::GetLuaInformation(); - pNode->AppendAttr("xmlns", "http://www.stepmania.com"); - pNode->AppendAttr("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance"); - pNode->AppendAttr("xsi:schemaLocation", "http://www.stepmania.com Lua.xsd"); - - pNode->AppendChild("Version", PRODUCT_ID_VER); - pNode->AppendChild("Date", DateTime::GetNowDate().GetString()); - - XmlFileUtil::SaveToFile(pNode, "Lua.xml", "Lua.xsl"); - - delete pNode; -} - -#if defined(HAVE_VERSION_INFO) -extern unsigned long version_num; -extern const char *const version_date; -extern const char *const version_time; -#endif - -/** - * @brief Print out version information. - * - * HACK: This function is primarily needed for Windows users. - * Mac OS X and Linux print out version information on the command line - * regardless of any preferences (tested by shakesoda on Mac). -aj */ -static void Version() -{ - #if defined(WIN32) - RString sProductID = ssprintf("%s", PRODUCT_ID_VER); - RString sVersion = "(StepMania was built without HAVE_VERSION_INFO)"; - #if defined(HAVE_VERSION_INFO) - sVersion = ssprintf("build %lu\nCompile Date: %s @ %s", version_num, version_date, version_time); - #endif // HAVE_VERSION_INFO - - AllocConsole(); - freopen("CONOUT$","wb", stdout); - freopen("CONOUT$","wb", stderr); - - fprintf(stdout, "Version Information:\n%s %s\n", sProductID.c_str(), sVersion.c_str()); - fprintf(stdout, "Press any key to exit."); - _getch(); - #endif // WIN32 -} - -void CommandLineActions::Handle(LoadingWindow* pLW) -{ - CommandLineArgs args; - for(int i=0; i +#include +#endif + +/** @brief The directory where languages should be installed. */ +const RString INSTALLER_LANGUAGES_DIR = "Themes/_Installer/Languages/"; + +vector CommandLineActions::ToProcess; + +static void Nsis() +{ + RageFile out; + if(!out.Open("nsis_strings_temp.inc", RageFile::WRITE)) + RageException::Throw("Error opening file for write."); + + vector vs; + GetDirListing(INSTALLER_LANGUAGES_DIR + "*.ini", vs, false, false); + for (RString const &s : vs) + { + RString sThrowAway, sLangCode; + splitpath(s, sThrowAway, sLangCode, sThrowAway); + const LanguageInfo *pLI = GetLanguageInfo(sLangCode); + + RString sLangNameUpper = pLI->szEnglishName; + sLangNameUpper.MakeUpper(); + + IniFile ini; + if(!ini.ReadFile(INSTALLER_LANGUAGES_DIR + s)) + RageException::Throw("Error opening file for read."); + FOREACH_CONST_Child(&ini, child) + { + FOREACH_CONST_Attr(child, attr) + { + RString sName = attr->first; + RString sValue = attr->second->GetValue(); + sValue.Replace("\\n", "$\\n"); + RString sLine = ssprintf("LangString %s ${LANG_%s} \"%s\"", sName.c_str(), sLangNameUpper.c_str(), sValue.c_str()); + out.PutLine(sLine); + } + } + } +} +static void LuaInformation() +{ + XNode *pNode = LuaHelpers::GetLuaInformation(); + pNode->AppendAttr("xmlns", "http://www.stepmania.com"); + pNode->AppendAttr("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance"); + pNode->AppendAttr("xsi:schemaLocation", "http://www.stepmania.com Lua.xsd"); + + pNode->AppendChild("Version", PRODUCT_ID_VER); + pNode->AppendChild("Date", DateTime::GetNowDate().GetString()); + + XmlFileUtil::SaveToFile(pNode, "Lua.xml", "Lua.xsl"); + + delete pNode; +} + +#if defined(HAVE_VERSION_INFO) +extern unsigned long version_num; +extern const char *const version_date; +extern const char *const version_time; +#endif + +/** + * @brief Print out version information. + * + * HACK: This function is primarily needed for Windows users. + * Mac OS X and Linux print out version information on the command line + * regardless of any preferences (tested by shakesoda on Mac). -aj */ +static void Version() +{ + #if defined(WIN32) + RString sProductID = ssprintf("%s", PRODUCT_ID_VER); + RString sVersion = "(StepMania was built without HAVE_VERSION_INFO)"; + #if defined(HAVE_VERSION_INFO) + sVersion = ssprintf("build %lu\nCompile Date: %s @ %s", version_num, version_date, version_time); + #endif // HAVE_VERSION_INFO + + AllocConsole(); + freopen("CONOUT$","wb", stdout); + freopen("CONOUT$","wb", stderr); + + fprintf(stdout, "Version Information:\n%s %s\n", sProductID.c_str(), sVersion.c_str()); + fprintf(stdout, "Press any key to exit."); + _getch(); + #endif // WIN32 +} + +void CommandLineActions::Handle(LoadingWindow* pLW) +{ + CommandLineArgs args; + for(int i=0; i