diff --git a/build/tools/MasterEditor/MasterEditorTWLChecker/Debug/MasterEditorTWLChecker.ilk b/build/tools/MasterEditor/MasterEditorTWLChecker/Debug/MasterEditorTWLChecker.ilk
new file mode 100644
index 0000000..e69de29
diff --git a/build/tools/MasterEditor/MasterEditorTWLChecker/Debug/config.xml b/build/tools/MasterEditor/MasterEditorTWLChecker/Debug/config.xml
new file mode 100644
index 0000000..430c3b9
--- /dev/null
+++ b/build/tools/MasterEditor/MasterEditorTWLChecker/Debug/config.xml
@@ -0,0 +1,89 @@
+
+
+
+
+ 日本のみ
+
+
+
+ 北米のみ
+
+
+
+ 欧州のみ
+
+
+
+ 豪州のみ
+
+
+
+ 欧州および豪州
+
+
+
+
+
+ A (全年齢)
+ B (12歳以上)
+ C (15歳以上)
+ D (17歳以上)
+ Z (18歳以上)
+ 審査中
+
+
+ 年齢制限なし(全年齢)
+ EC (3歳以上)
+ E (6歳以上)
+ E10+ (10歳以上)
+ T (13歳以上)
+ M (17歳以上)
+ 審査中
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 不可
+
+
+
+
diff --git a/build/tools/MasterEditor/MasterEditorTWLChecker/Debug/extract_sheet.xsl b/build/tools/MasterEditor/MasterEditorTWLChecker/Debug/extract_sheet.xsl
new file mode 100644
index 0000000..2aa5dac
--- /dev/null
+++ b/build/tools/MasterEditor/MasterEditorTWLChecker/Debug/extract_sheet.xsl
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker.ncb b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker.ncb
new file mode 100644
index 0000000..dd2fe9b
Binary files /dev/null and b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker.ncb differ
diff --git a/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker.sln b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker.sln
new file mode 100644
index 0000000..9aa0f31
--- /dev/null
+++ b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker.sln
@@ -0,0 +1,20 @@
+
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2008
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MasterEditorTWLChecker", "MasterEditorTWLChecker\MasterEditorTWLChecker.vcproj", "{100CD619-6964-4A1E-98E0-648848933F30}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {100CD619-6964-4A1E-98E0-648848933F30}.Debug|Win32.ActiveCfg = Debug|Win32
+ {100CD619-6964-4A1E-98E0-648848933F30}.Debug|Win32.Build.0 = Debug|Win32
+ {100CD619-6964-4A1E-98E0-648848933F30}.Release|Win32.ActiveCfg = Release|Win32
+ {100CD619-6964-4A1E-98E0-648848933F30}.Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker.suo b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker.suo
new file mode 100644
index 0000000..cf3a087
Binary files /dev/null and b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker.suo differ
diff --git a/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/AssemblyInfo.cpp b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/AssemblyInfo.cpp
new file mode 100644
index 0000000..03f9ecb
--- /dev/null
+++ b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/AssemblyInfo.cpp
@@ -0,0 +1,40 @@
+#include "stdafx.h"
+
+using namespace System;
+using namespace System::Reflection;
+using namespace System::Runtime::CompilerServices;
+using namespace System::Runtime::InteropServices;
+using namespace System::Security::Permissions;
+
+//
+// AZuɊւʏ͈ȉ̑ZbgƂĐ䂳܂B
+// AZuɊ֘AtĂύXɂ́A
+// ̑lύXĂB
+//
+[assembly:AssemblyTitleAttribute("MasterEditorTWLChecker")];
+[assembly:AssemblyDescriptionAttribute("")];
+[assembly:AssemblyConfigurationAttribute("")];
+[assembly:AssemblyCompanyAttribute("CV")];
+[assembly:AssemblyProductAttribute("MasterEditorTWLChecker")];
+[assembly:AssemblyCopyrightAttribute("Copyright (c) CV 2009")];
+[assembly:AssemblyTrademarkAttribute("")];
+[assembly:AssemblyCultureAttribute("")];
+
+//
+// AZũo[ẂAȉ 4 ̒lō\Ă܂:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// ׂĂ̒lw肷邩Â悤 '*' gărWуrhԍ
+// lɂ邱Ƃł܂:
+
+[assembly:AssemblyVersionAttribute("1.0.*")];
+
+[assembly:ComVisible(false)];
+
+[assembly:CLSCompliantAttribute(true)];
+
+[assembly:SecurityPermission(SecurityAction::RequestMinimum, UnmanagedCode = true)];
diff --git a/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/Debug/BuildLog.htm b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/Debug/BuildLog.htm
new file mode 100644
index 0000000..c9d6126
Binary files /dev/null and b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/Debug/BuildLog.htm differ
diff --git a/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/MasterEditorTWLChecker.cpp b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/MasterEditorTWLChecker.cpp
new file mode 100644
index 0000000..b2aa3df
--- /dev/null
+++ b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/MasterEditorTWLChecker.cpp
@@ -0,0 +1,28 @@
+// MasterEditorTWLChecker.cpp : C vWFNg t@CłB
+
+#include "stdafx.h"
+#include "check.h"
+
+using namespace System;
+
+int main(array ^args)
+{
+ FilenameItem ^fItem = gcnew FilenameItem;
+ fItem->parseFilename( args[0] );
+
+ SheetItem ^sItem = gcnew SheetItem;
+ sItem->readSheet( args[0] );
+
+ System::String^ errmsg = checkSheet( fItem, sItem );
+ if( errmsg != nullptr )
+ {
+ Console::WriteLine( "NG " + errmsg );
+ }
+ else
+ {
+ Console::WriteLine( "OK" );
+ }
+
+ Console::WriteLine(L"Hello World");
+ return 0;
+}
diff --git a/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/MasterEditorTWLChecker.vcproj b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/MasterEditorTWLChecker.vcproj
new file mode 100644
index 0000000..eb0c0bd
--- /dev/null
+++ b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/MasterEditorTWLChecker.vcproj
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/MasterEditorTWLChecker.vcproj.RED.nishikawa_takeshi.user b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/MasterEditorTWLChecker.vcproj.RED.nishikawa_takeshi.user
new file mode 100644
index 0000000..7963a7f
--- /dev/null
+++ b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/MasterEditorTWLChecker.vcproj.RED.nishikawa_takeshi.user
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/ReadMe.txt b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/ReadMe.txt
new file mode 100644
index 0000000..9e3a445
--- /dev/null
+++ b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/ReadMe.txt
@@ -0,0 +1,29 @@
+===============================================================================
+ AvP[V : MasterEditorTWLChecker vWFNg̊Tv
+===============================================================================
+
+ MasterEditorTWLChecker AvP[V́AAppWizard ɂč쐬܂B
+
+̃t@Cɂ́AMasterEditorTWLChecker AvP[V\et@C
+e̊TLqĂ܂B
+
+MasterEditorTWLChecker.vcproj
+ ́AAvP[V EBU[hŐ VC++ vWFNg̃C
+ vWFNg t@CłB
+ t@C Visual C++ ̃o[WƁAAvP[V EBU[
+ hőIvbgtH[A\AуvWFNg̋@\Ɋւ
+ LqĂ܂B
+
+MasterEditorTWLChecker.cpp
+ ́AC̃AvP[V \[X t@CłB
+
+AssemblyInfo.cpp
+ AZu ^f[^ύX邽߂̃JX^܂܂Ă܂B
+
+///////////////////////////////////////////////////////////////////////////////
+̑̃ :
+
+AppWizard ł́A"TODO:" gpāA[U[lj܂̓JX^}CY\[X
+܂B
+
+///////////////////////////////////////////////////////////////////////////////
diff --git a/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/Release/BuildLog.htm b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/Release/BuildLog.htm
new file mode 100644
index 0000000..ccbbdda
Binary files /dev/null and b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/Release/BuildLog.htm differ
diff --git a/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/app.ico b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/app.ico
new file mode 100644
index 0000000..3a5525f
Binary files /dev/null and b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/app.ico differ
diff --git a/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/app.rc b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/app.rc
new file mode 100644
index 0000000..2ad8e34
--- /dev/null
+++ b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/app.rc
@@ -0,0 +1,63 @@
+// Microsoft Visual C++ Őꂽ\[X XNvgłB
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// p (č) \[X
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// ACR
+//
+
+// ŏɔzuꂽACRA܂ ID lłႢACRAAvP[V ACRɂȂ܂B
+
+LANGUAGE 17, 1
+#pragma code_page(932)
+1 ICON "app.ico"
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE
+BEGIN
+ "resource.h\0"
+ "\0"
+END
+
+2 TEXTINCLUDE
+BEGIN
+ "#include ""afxres.h""\r\n"
+ "\0"
+END
+
+3 TEXTINCLUDE
+BEGIN
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE 3 \[X琶܂B
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // APSTUDIO_INVOKED łȂꍇ
+
diff --git a/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/check.cpp b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/check.cpp
new file mode 100644
index 0000000..a80f6f4
--- /dev/null
+++ b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/check.cpp
@@ -0,0 +1,27 @@
+#include "stdafx.h"
+#include "check.h"
+
+using namespace System;
+
+// ------------------------------------------------------------------
+// t@C̉
+// ------------------------------------------------------------------
+
+System::Boolean FilenameItem::parseFilename( System::String ^filepath )
+{
+ System::String ^filename = System::IO::Path::GetFileNameWithoutExtension(filepath);
+
+ cli::array ^list = filename->Split( '_' );
+ this->region = System::String::Copy(list[0]);
+ this->ogn = System::String::Copy(list[1]);
+ this->rating = System::String::Copy(list[2]);
+ this->lang = System::String::Copy(list[3]);
+
+ Console::WriteLine( "[In Filename]" );
+ Console::WriteLine( "Region: " + this->region );
+ Console::WriteLine( "Ogn: " + this->ogn );
+ Console::WriteLine( "Rating: " + this->rating );
+ Console::WriteLine( "Lang: " + this->lang );
+
+ return true;
+}
diff --git a/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/check.h b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/check.h
new file mode 100644
index 0000000..3b26bdf
--- /dev/null
+++ b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/check.h
@@ -0,0 +1,40 @@
+#pragma once
+
+//
+// t@C璊ot@C̍\
+//
+ref class FilenameItem
+{
+public:
+ property System::String ^region;
+ property System::String ^ogn;
+ property System::String ^rating;
+ property System::String ^lang;
+public:
+ FilenameItem(){}
+public:
+ System::Boolean parseFilename( System::String ^filepath );
+};
+
+//
+// omF璊o̍\
+//
+ref class SheetItem
+{
+public:
+ property System::String ^region;
+ property System::String ^CERO;
+ property System::String ^ESRB;
+ property System::String ^USK;
+ property System::String ^PEGI;
+ property System::String ^PEGIPRT;
+ property System::String ^PEGIBBFC;
+ property System::String ^OFLC;
+ property System::Boolean IsUnnecessaryRating;
+public:
+ SheetItem(){}
+public:
+ System::Boolean readSheet( System::String ^sheetfile );
+};
+
+System::String^ checkSheet( FilenameItem ^fItem, SheetItem ^sItem );
diff --git a/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/check_rom.cpp b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/check_rom.cpp
new file mode 100644
index 0000000..5d21cf2
--- /dev/null
+++ b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/check_rom.cpp
@@ -0,0 +1,6 @@
+#include "stdafx.h"
+
+//
+// oSRL̃`FbN
+//
+
diff --git a/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/check_sheet.cpp b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/check_sheet.cpp
new file mode 100644
index 0000000..6859f69
--- /dev/null
+++ b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/check_sheet.cpp
@@ -0,0 +1,247 @@
+//
+// omF̃`FbN
+//
+
+#include "stdafx.h"
+#include "check.h"
+#include
+
+using namespace System;
+
+
+// ------------------------------------------------------------------
+// omF̓ǂݍ
+// ------------------------------------------------------------------
+
+System::Boolean SheetItem::readSheet( System::String ^sheetfile )
+{
+ // XSLɂXMLϊ
+ System::String ^tmpfile = ".\\temp" + System::DateTime::Now.ToString("yyyyMMddHHmmss") + ".xml";
+ System::Xml::Xsl::XslCompiledTransform ^xslt = gcnew System::Xml::Xsl::XslCompiledTransform;
+ System::String ^xslpath = System::IO::Path::GetDirectoryName( System::Reflection::Assembly::GetEntryAssembly()->Location )
+ + "\\extract_sheet.xsl";
+ try
+ {
+ //Console::WriteLine( "xslpath: " + xslpath );
+ xslt->Load( xslpath );
+ xslt->Transform( sheetfile, tmpfile );
+ }
+ catch( System::Exception ^ex )
+ {
+ (void)ex;
+ //Console::WriteLine( "XSLT Error" );
+ return false;
+ }
+ // ϊXMLǂݍ
+ System::Xml::XmlDocument ^doc = gcnew System::Xml::XmlDocument;
+ try
+ {
+ doc->Load( tmpfile );
+ }
+ catch( System::Exception ^ex )
+ {
+ (void)ex;
+ //Console::WriteLine( "Load error" );
+ return false;
+ }
+
+ // XMLf[^𒊏o
+ System::Xml::XmlElement ^root = doc->DocumentElement;
+ try
+ {
+ this->region = MasterEditorTWL::getXPathText( root, "/Sheet/Region" );
+ this->CERO = MasterEditorTWL::getXPathText( root, "/Sheet/RatingCERO" );
+ this->ESRB = MasterEditorTWL::getXPathText( root, "/Sheet/RatingESRB" );
+ this->USK = MasterEditorTWL::getXPathText( root, "/Sheet/RatingUSK" );
+ this->PEGI = MasterEditorTWL::getXPathText( root, "/Sheet/RatingPEGI" );
+ this->PEGIPRT = MasterEditorTWL::getXPathText( root, "/Sheet/RatingPEGIPRT" );
+ this->PEGIBBFC = MasterEditorTWL::getXPathText( root, "/Sheet/RatingPEGIBBFC" );
+ this->OFLC = MasterEditorTWL::getXPathText( root, "/Sheet/RatingOFLC" );
+
+ System::String ^text = MasterEditorTWL::getXPathText( root, "/Sheet/IsUnnecessaryRating" );
+ if( !System::String::IsNullOrEmpty( text ) && text->Equals( "" ) )
+ {
+ this->IsUnnecessaryRating = true;
+ }
+ else
+ {
+ this->IsUnnecessaryRating = false;
+ }
+
+ Console::WriteLine( "[In Sheet]" );
+ Console::WriteLine( "Region: " + this->region );
+ Console::WriteLine( "CERO: " + this->CERO );
+ Console::WriteLine( "ESRB: " + this->ESRB );
+ Console::WriteLine( "USK: " + this->USK );
+ Console::WriteLine( "PEGI: " + this->PEGI );
+ Console::WriteLine( "PEGIPRT: " + this->PEGIPRT );
+ Console::WriteLine( "PEGIBBFC: " + this->PEGIBBFC );
+ Console::WriteLine( "OFLC: " + this->OFLC );
+ Console::WriteLine( "Unnecessary: " + this->IsUnnecessaryRating.ToString() );
+ }
+ catch( System::Exception ^ex )
+ {
+ //(void)ex;
+ Console::WriteLine( ex->Message );
+ return false;
+ }
+
+ // ԃt@C폜
+ if( System::IO::File::Exists( tmpfile ) )
+ {
+ System::IO::File::Delete( tmpfile );
+ }
+ return true;
+}
+
+
+// ------------------------------------------------------------------
+// omF̃`FbN (ݒt@C̐^lƂ̔r)
+// ------------------------------------------------------------------
+
+// @arg [in] t@C
+// @arg [in] omF̏
+//
+// @ret G[bZ[W (G[Ȃ̂Ƃnullptr)
+System::String^ checkSheet( FilenameItem ^fItem, SheetItem ^sItem )
+{
+ System::Xml::XmlDocument ^doc = gcnew System::Xml::XmlDocument;
+ try
+ {
+ System::String ^cfgfile = System::IO::Path::GetDirectoryName( System::Reflection::Assembly::GetEntryAssembly()->Location )
+ + "\\config.xml";
+ doc->Load( cfgfile );
+ }
+ catch( System::Exception ^ex )
+ {
+ (void)ex;
+ //Console::WriteLine( "Load error" );
+ return (gcnew System::String("Failed to load XML"));
+ }
+ // XMLf[^𒊏o
+ System::Xml::XmlElement ^root = doc->DocumentElement;
+
+ // ݒt@C̐^lƒomF̋Lqr
+ // (ݒt@Cɂ̓t@CƑΉ^OŐ^lLqĂ)
+ System::String ^region = MasterEditorTWL::getXPathText( root, "/Config/Region/" + fItem->region + "/" + fItem->lang );
+ System::String ^undef = MasterEditorTWL::getXPathText( root, "/Config/Rating/Undefined/" + fItem->lang );
+ System::String ^rating = MasterEditorTWL::getXPathText( root, "/Config/Rating/" + fItem->ogn + "/r" + fItem->rating + "/" + fItem->lang );
+ Console::WriteLine( "[In Config file]" );
+ Console::WriteLine( "Region: " + region );
+ Console::WriteLine( "Rating: " + rating );
+ Console::WriteLine( "Undefined: " + undef );
+ System::String ^errmsg = nullptr;
+ // [W̕`FbN
+ if( sItem->region != region )
+ {
+ return (gcnew System::String("In Sheet, region is illegal string."));
+ }
+ // [eBO̕`FbN
+ if( fItem->region == "JP" )
+ {
+ if( sItem->CERO != rating )
+ {
+ errmsg = "In Sheet, CERO is illegal string.";
+ }
+ if( (sItem->ESRB != undef) ||
+ (sItem->USK != undef) ||
+ (sItem->PEGI != undef) ||
+ (sItem->PEGIPRT != undef) ||
+ (sItem->PEGIBBFC != undef) ||
+ (sItem->OFLC != undef) )
+ {
+ errmsg = "In Sheet, Other Ogn is illegal string.";
+ }
+ }
+ else if( fItem->region == "US" )
+ {
+ if( sItem->ESRB != rating )
+ {
+ errmsg = "In Sheet, ESRB is illegal string.";
+ }
+ if( (sItem->CERO != undef) ||
+ (sItem->USK != undef) ||
+ (sItem->PEGI != undef) ||
+ (sItem->PEGIPRT != undef) ||
+ (sItem->PEGIBBFC != undef) ||
+ (sItem->OFLC != undef) )
+ {
+ errmsg = "In Sheet, Other Ogn is illegal string.";
+ }
+ }
+ else if( fItem->region == "EU" )
+ {
+ if( sItem->USK != rating )
+ {
+ errmsg = "In Sheet, USK is illegal string.";
+ }
+ if( sItem->PEGI != rating )
+ {
+ errmsg = "In Sheet, PEGI is illegal string.";
+ }
+ if( sItem->PEGIPRT != rating )
+ {
+ errmsg = "In Sheet, PEGIPRT is illegal string.";
+ }
+ if( sItem->PEGIBBFC != rating )
+ {
+ errmsg = "In Sheet, PEGIBBFC is illegal string.";
+ }
+ if( (sItem->CERO != undef) ||
+ (sItem->ESRB != undef) ||
+ (sItem->OFLC != undef) )
+ {
+ errmsg = "In Sheet, Other Ogn is illegal string.";
+ }
+ }
+ else if( fItem->region == "AU" )
+ {
+ if( sItem->OFLC != rating )
+ {
+ errmsg = "In Sheet, OFLC is illegal string.";
+ }
+ if( (sItem->CERO != undef) ||
+ (sItem->ESRB != undef) ||
+ (sItem->USK != undef) ||
+ (sItem->PEGI != undef) ||
+ (sItem->PEGIPRT != undef) ||
+ (sItem->PEGIBBFC != undef) )
+ {
+ errmsg = "In Sheet, Other Ogn is illegal string.";
+ }
+ }
+ else if( fItem->region == "EUAU" )
+ {
+ if( sItem->USK != rating )
+ {
+ errmsg = "In Sheet, USK is illegal string.";
+ }
+ if( sItem->PEGI != rating )
+ {
+ errmsg = "In Sheet, PEGI is illegal string.";
+ }
+ if( sItem->PEGIPRT != rating )
+ {
+ errmsg = "In Sheet, PEGIPRT is illegal string.";
+ }
+ if( sItem->PEGIBBFC != rating )
+ {
+ errmsg = "In Sheet, PEGIBBFC is illegal string.";
+ }
+ if( sItem->OFLC != rating )
+ {
+ errmsg = "In Sheet, OFLC is illegal string.";
+ }
+ if( (sItem->CERO != undef) ||
+ (sItem->ESRB != undef) )
+ {
+ errmsg = "In Sheet, Other Ogn is illegal string.";
+ }
+ }
+ if( errmsg != nullptr )
+ {
+ return errmsg;
+ }
+
+ return nullptr;
+}
\ No newline at end of file
diff --git a/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/resource.h b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/resource.h
new file mode 100644
index 0000000..1f2251c
--- /dev/null
+++ b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/resource.h
@@ -0,0 +1,3 @@
+//{{NO_DEPENDENCIES}}
+// Microsoft Visual C++ generated include file.
+// Used by app.rc
diff --git a/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/stdafx.cpp b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/stdafx.cpp
new file mode 100644
index 0000000..f218e07
--- /dev/null
+++ b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/stdafx.cpp
@@ -0,0 +1,7 @@
+// stdafx.cpp : WCN[h MasterEditorTWLChecker.pch ݂̂
+// ܂ރ\[X t@ĆAvRpCς݃wb_[ɂȂ܂B
+// stdafx.obj ɂ̓vRpCς^܂܂܂B
+
+#include "stdafx.h"
+
+
diff --git a/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/stdafx.h b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/stdafx.h
new file mode 100644
index 0000000..d0e2c99
--- /dev/null
+++ b/build/tools/MasterEditor/MasterEditorTWLChecker/MasterEditorTWLChecker/stdafx.h
@@ -0,0 +1,8 @@
+// stdafx.h : W̃VXe CN[h t@C̃CN[h t@CA܂
+// QƉA܂ύXȂAvWFNgp̃CN[h t@C
+// Lq܂B
+//
+
+#pragma once
+
+// TODO: vOɕKvȒljwb_[ŎQƂĂB
diff --git a/build/tools/MasterEditor/MasterEditorTWLChecker/Release/config.xml b/build/tools/MasterEditor/MasterEditorTWLChecker/Release/config.xml
new file mode 100644
index 0000000..430c3b9
--- /dev/null
+++ b/build/tools/MasterEditor/MasterEditorTWLChecker/Release/config.xml
@@ -0,0 +1,89 @@
+
+
+
+
+ 日本のみ
+
+
+
+ 北米のみ
+
+
+
+ 欧州のみ
+
+
+
+ 豪州のみ
+
+
+
+ 欧州および豪州
+
+
+
+
+
+ A (全年齢)
+ B (12歳以上)
+ C (15歳以上)
+ D (17歳以上)
+ Z (18歳以上)
+ 審査中
+
+
+ 年齢制限なし(全年齢)
+ EC (3歳以上)
+ E (6歳以上)
+ E10+ (10歳以上)
+ T (13歳以上)
+ M (17歳以上)
+ 審査中
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 不可
+
+
+
+
diff --git a/build/tools/MasterEditor/MasterEditorTWLChecker/Release/extract_sheet.xsl b/build/tools/MasterEditor/MasterEditorTWLChecker/Release/extract_sheet.xsl
new file mode 100644
index 0000000..2aa5dac
--- /dev/null
+++ b/build/tools/MasterEditor/MasterEditorTWLChecker/Release/extract_sheet.xsl
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build/tools/MasterEditor/MasterEditorTWLChecker/config.xml b/build/tools/MasterEditor/MasterEditorTWLChecker/config.xml
new file mode 100644
index 0000000..430c3b9
--- /dev/null
+++ b/build/tools/MasterEditor/MasterEditorTWLChecker/config.xml
@@ -0,0 +1,89 @@
+
+
+
+
+ 日本のみ
+
+
+
+ 北米のみ
+
+
+
+ 欧州のみ
+
+
+
+ 豪州のみ
+
+
+
+ 欧州および豪州
+
+
+
+
+
+ A (全年齢)
+ B (12歳以上)
+ C (15歳以上)
+ D (17歳以上)
+ Z (18歳以上)
+ 審査中
+
+
+ 年齢制限なし(全年齢)
+ EC (3歳以上)
+ E (6歳以上)
+ E10+ (10歳以上)
+ T (13歳以上)
+ M (17歳以上)
+ 審査中
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 不可
+
+
+
+
diff --git a/build/tools/MasterEditor/MasterEditorTWLChecker/extract_sheet.xsl b/build/tools/MasterEditor/MasterEditorTWLChecker/extract_sheet.xsl
new file mode 100644
index 0000000..2aa5dac
--- /dev/null
+++ b/build/tools/MasterEditor/MasterEditorTWLChecker/extract_sheet.xsl
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+