move installer strings to .ini files for easier importing

This commit is contained in:
Chris Danford
2006-06-09 03:34:36 +00:00
parent 5d6e7427e0
commit b20d7aca3c
13 changed files with 312 additions and 139 deletions
+66
View File
@@ -0,0 +1,66 @@
#include "global.h"
#include "ExportNsisStrings.h"
#include "RageFile.h"
#include "RageUtil.h"
#include "IniFile.h"
const RString INSTALLER_LANGUAGES_DIR = "Installer/Languages/";
void ExportNsisStrings::Do()
{
RageFile out;
if( !out.Open( "nsis_strings_temp.inc", RageFile::WRITE ) )
RageException::Throw("Error opening file for write.");
vector<RString> 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;
sValue.Replace( "\\n", "$\\n" );
RString sLine = ssprintf( "LangString %s ${LANG_%s} \"%s\"", sName.c_str(), sLangNameUpper.c_str(), sValue.c_str() );
out.PutLine( sLine );
}
}
}
}
/*
* (c) 2006 Chris Danford
* All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, and/or sell copies of the Software, and to permit persons to
* whom the Software is furnished to do so, provided that the above
* copyright notice(s) and this permission notice appear in all copies of
* the Software and that both the above copyright notice(s) and this
* permission notice appear in supporting documentation.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT
* OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
* OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
+36
View File
@@ -0,0 +1,36 @@
/* ExportNsisStrings - */
#ifndef ExportNsisStrings_H
#define ExportNsisStrings_H
namespace ExportNsisStrings
{
void Do();
}
#endif
/*
* (c) 2006 Chris Danford
* All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, and/or sell copies of the Software, and to permit persons to
* whom the Software is furnished to do so, provided that the above
* copyright notice(s) and this permission notice appear in all copies of
* the Software and that both the above copyright notice(s) and this
* permission notice appear in supporting documentation.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT
* OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
* OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
+9 -8
View File
@@ -130,15 +130,16 @@ Trail.cpp Trail.h TrailUtil.cpp TrailUtil.h TitleSubstitution.cpp TitleSubstitut
Tween.cpp Tween.h
FileTypes = IniFile.cpp IniFile.h \
MsdFile.cpp MsdFile.h \
XmlFile.cpp XmlFile.h \
XmlFileUtil.cpp XmlFileUtil.h
MsdFile.cpp MsdFile.h \
XmlFile.cpp XmlFile.h \
XmlFileUtil.cpp XmlFileUtil.h
StepMania = StdString.h \
StepMania.cpp StepMania.h \
GameLoop.cpp GameLoop.h \
global.cpp global.h \
SpecialFiles.cpp SpecialFiles.h
StepMania = ExportNsisStrings.cpp ExportNsisStrings.h \
StdString.h \
StepMania.cpp StepMania.h \
GameLoop.cpp GameLoop.h \
global.cpp global.h \
SpecialFiles.cpp SpecialFiles.h
LoadingWindow = arch/LoadingWindow/LoadingWindow.h \
arch/LoadingWindow/LoadingWindow_Null.h
+6
View File
@@ -1198,6 +1198,12 @@ cl /Zl /nologo /c verstub.cpp /Fo&quot;$(IntDir)&quot;\
<Filter
Name="StepMania"
Filter="">
<File
RelativePath=".\ExportNsisStrings.cpp">
</File>
<File
RelativePath=".\ExportNsisStrings.h">
</File>
<File
RelativePath=".\GameLoop.cpp">
</File>
+5 -1
View File
@@ -38,6 +38,7 @@
#include "RageSurface_Load.h"
#include "arch/arch.h"
#include "CatalogXml.h"
#include "ExportNsisStrings.h"
//
// StepMania global classes
@@ -1113,7 +1114,10 @@ int main(int argc, char* argv[])
NSMAN->DisplayStartupStatus(); // If we're using networking show what happened
/* Run the main loop. */
GameLoop::RunGameLoop();
if( GetCommandlineArgument("ExportNsisStrings") )
ExportNsisStrings::Do();
else
GameLoop::RunGameLoop();
/* If we ended mid-game, finish up. */
GAMESTATE->EndGame();
+16 -4
View File
@@ -1,5 +1,5 @@
# Microsoft Developer Studio Project File - Name="StepMania" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 60000
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Application" 0x0101
@@ -62,7 +62,7 @@ IntDir=.\../Debug6
TargetDir=\cvs\stepmania\Program
TargetName=StepMania-debug
SOURCE="$(InputPath)"
PreLink_Cmds=archutils\Win32\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\
PreLink_Cmds=archutils\Win32\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\
PostBuild_Cmds=archutils\Win32\mapconv $(IntDir)\$(TargetName).map $(TargetDir)\StepMania.vdi
# End Special Build Tool
@@ -96,10 +96,10 @@ LINK32=link.exe
# SUBTRACT LINK32 /pdb:none
# Begin Special Build Tool
IntDir=.\../Release6
TargetDir=\cvs\stepmania\Program
TargetDir=\cvs\stepmania-clean\Program
TargetName=StepMania
SOURCE="$(InputPath)"
PreLink_Cmds=archutils\Win32\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\
PreLink_Cmds=archutils\Win32\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\
PostBuild_Cmds=archutils\Win32\mapconv $(IntDir)\$(TargetName).map $(TargetDir)\StepMania.vdi
# End Special Build Tool
@@ -654,6 +654,10 @@ SOURCE=.\RageUtil_WorkerThread.cpp
SOURCE=.\RageUtil_WorkerThread.h
# End Source File
# Begin Source File
SOURCE=.\RageUtilLua.cpp
# End Source File
# End Group
# Begin Group "Data Structures"
@@ -1840,6 +1844,14 @@ SOURCE=.\archutils\Win32\WindowsResources.rc
# End Group
# Begin Source File
SOURCE=.\ExportNsisStrings.cpp
# End Source File
# Begin Source File
SOURCE=.\ExportNsisStrings.h
# End Source File
# Begin Source File
SOURCE=.\GameLoop.cpp
# End Source File
# Begin Source File