mirror of
https://github.com/rvtr/TwlToolsRED.git
synced 2025-10-31 06:41:18 -04:00
提出確認書チェッカ:新バージョンへの移行のためいったん削除。
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlToolsRED@51 7061adef-622a-194b-ae81-725974e89856
This commit is contained in:
parent
0dd07e203a
commit
3b0c79d14a
Binary file not shown.
@ -1,24 +0,0 @@
|
|||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 10.00
|
|
||||||
# Visual Studio 2008
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SheetCheckerTWL", "SheetCheckerTWL\SheetCheckerTWL.vcproj", "{426F4BD7-3EEB-421A-87AB-697DF71DFB47}"
|
|
||||||
EndProject
|
|
||||||
Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "SheetCheckerTWL_Setup", "SheetCheckerTWL_Setup\SheetCheckerTWL_Setup.vdproj", "{2D7B860A-1D29-4519-9DA0-40267611BFB8}"
|
|
||||||
EndProject
|
|
||||||
Global
|
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
|
||||||
Debug|Win32 = Debug|Win32
|
|
||||||
Release|Win32 = Release|Win32
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
|
||||||
{426F4BD7-3EEB-421A-87AB-697DF71DFB47}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{426F4BD7-3EEB-421A-87AB-697DF71DFB47}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{426F4BD7-3EEB-421A-87AB-697DF71DFB47}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{426F4BD7-3EEB-421A-87AB-697DF71DFB47}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{2D7B860A-1D29-4519-9DA0-40267611BFB8}.Debug|Win32.ActiveCfg = Debug
|
|
||||||
{2D7B860A-1D29-4519-9DA0-40267611BFB8}.Release|Win32.ActiveCfg = Release
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
|
||||||
HideSolutionNode = FALSE
|
|
||||||
EndGlobalSection
|
|
||||||
EndGlobal
|
|
||||||
Binary file not shown.
@ -1,40 +0,0 @@
|
|||||||
#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;
|
|
||||||
|
|
||||||
//
|
|
||||||
// アセンブリに関する一般情報は以下の属性セットをとおして制御されます。
|
|
||||||
// アセンブリに関連付けられている情報を変更するには、
|
|
||||||
// これらの属性値を変更してください。
|
|
||||||
//
|
|
||||||
[assembly:AssemblyTitleAttribute("SheetCheckerTWL")];
|
|
||||||
[assembly:AssemblyDescriptionAttribute("")];
|
|
||||||
[assembly:AssemblyConfigurationAttribute("")];
|
|
||||||
[assembly:AssemblyCompanyAttribute("任天堂株式会社")];
|
|
||||||
[assembly:AssemblyProductAttribute("SheetCheckerTWL")];
|
|
||||||
[assembly:AssemblyCopyrightAttribute("Copyright (c) 任天堂株式会社 2008")];
|
|
||||||
[assembly:AssemblyTrademarkAttribute("")];
|
|
||||||
[assembly:AssemblyCultureAttribute("")];
|
|
||||||
|
|
||||||
//
|
|
||||||
// アセンブリのバージョン情報は、以下の 4 つの値で構成されています:
|
|
||||||
//
|
|
||||||
// Major Version
|
|
||||||
// Minor Version
|
|
||||||
// Build Number
|
|
||||||
// Revision
|
|
||||||
//
|
|
||||||
// すべての値を指定するか、下のように '*' を使ってリビジョンおよびビルド番号を
|
|
||||||
// 既定値にすることができます:
|
|
||||||
|
|
||||||
[assembly:AssemblyVersionAttribute("1.0.*")];
|
|
||||||
|
|
||||||
[assembly:ComVisible(false)];
|
|
||||||
|
|
||||||
[assembly:CLSCompliantAttribute(true)];
|
|
||||||
|
|
||||||
[assembly:SecurityPermission(SecurityAction::RequestMinimum, UnmanagedCode = true)];
|
|
||||||
Binary file not shown.
@ -1,29 +0,0 @@
|
|||||||
===============================================================================
|
|
||||||
アプリケーション : SheetCheckerTWL プロジェクトの概要
|
|
||||||
===============================================================================
|
|
||||||
|
|
||||||
この SheetCheckerTWL アプリケーションは、AppWizard によって作成されました。
|
|
||||||
|
|
||||||
このファイルには、SheetCheckerTWL アプリケーションを構成する各ファイルの
|
|
||||||
内容の概略が記述されています。
|
|
||||||
|
|
||||||
SheetCheckerTWL.vcproj
|
|
||||||
これは、アプリケーション ウィザードで生成される VC++ プロジェクトのメインの
|
|
||||||
プロジェクト ファイルです。
|
|
||||||
ファイルを生成した Visual C++ のバージョン情報と、アプリケーション ウィザー
|
|
||||||
ドで選択したプラットフォーム、構成、およびプロジェクトの機能に関する情報が
|
|
||||||
記述されています。
|
|
||||||
|
|
||||||
SheetCheckerTWL.cpp
|
|
||||||
これは、メインのアプリケーション ソース ファイルです。
|
|
||||||
|
|
||||||
AssemblyInfo.cpp
|
|
||||||
アセンブリ メタデータを変更するためのカスタム属性が含まれています。
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
|
||||||
その他のメモ :
|
|
||||||
|
|
||||||
AppWizard では、"TODO:" を使用して、ユーザーが追加またはカスタマイズするソース
|
|
||||||
部分を示します。
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
|
||||||
Binary file not shown.
@ -1,343 +0,0 @@
|
|||||||
// SheetCheckerTWL.cpp : メイン プロジェクト ファイルです。
|
|
||||||
|
|
||||||
#include "stdafx.h"
|
|
||||||
#include "SheetCheckerTWL.h"
|
|
||||||
#include "crc_whole.h"
|
|
||||||
#include <twl/types.h>
|
|
||||||
#include <twl/os/common/format_rom.h>
|
|
||||||
#include <cstdio>
|
|
||||||
|
|
||||||
using namespace System;
|
|
||||||
|
|
||||||
// ------------------------------------------------------------------
|
|
||||||
// 宣言
|
|
||||||
// ------------------------------------------------------------------
|
|
||||||
|
|
||||||
System::Int32 parseOption( array<System::String ^> ^args, SheetCheckerContext ^context );
|
|
||||||
System::Boolean readRomHeader( System::String ^srlfile, ROM_Header *rh );
|
|
||||||
System::Boolean readSheet( System::String ^sheetfile, SheetItem ^item );
|
|
||||||
System::String^ getXPathText( System::Xml::XmlElement ^root, System::String ^xpath );
|
|
||||||
void printResult( SheetCheckerContext ^context, ROM_Header *rh, SheetItem ^item,
|
|
||||||
System::String ^srlfile, System::String ^sheetfile, System::UInt16 srlcrc );
|
|
||||||
|
|
||||||
|
|
||||||
// ------------------------------------------------------------------
|
|
||||||
// 本体
|
|
||||||
// ------------------------------------------------------------------
|
|
||||||
|
|
||||||
int main(array<System::String ^> ^args)
|
|
||||||
{
|
|
||||||
SheetCheckerContext ^hContext = gcnew SheetCheckerContext;
|
|
||||||
ROM_Header rh;
|
|
||||||
memset( (void*)&rh, 0, sizeof(ROM_Header) );
|
|
||||||
SheetItem ^hItem = gcnew SheetItem;
|
|
||||||
|
|
||||||
// getopt
|
|
||||||
int argc = parseOption( args, hContext );
|
|
||||||
|
|
||||||
// 引数処理
|
|
||||||
if( argc != 2 )
|
|
||||||
{
|
|
||||||
hContext->ErrorCode = SheetCheckerError::ERROR_ARG;
|
|
||||||
printResult( hContext, &rh, hItem, nullptr, nullptr, 0 );
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
System::String ^hSrlFile = args[0];
|
|
||||||
System::String ^hSheetFile = args[1];
|
|
||||||
|
|
||||||
// ROMヘッダの読み込み
|
|
||||||
if( !readRomHeader( hSrlFile, &rh ) )
|
|
||||||
{
|
|
||||||
hContext->ErrorCode = SheetCheckerError::ERROR_READ_SRL;
|
|
||||||
printResult( hContext, &rh, hItem, hSrlFile, hSheetFile, 0 );
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
System::UInt16 crc;
|
|
||||||
getWholeCRCInFile( hSrlFile, &crc );
|
|
||||||
|
|
||||||
// 提出確認書の読み込み
|
|
||||||
if( !readSheet( hSheetFile, hItem ) )
|
|
||||||
{
|
|
||||||
hContext->ErrorCode = SheetCheckerError::ERROR_READ_SHEET;
|
|
||||||
printResult( hContext, &rh, hItem, hSrlFile, hSheetFile, crc );
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 一致判定
|
|
||||||
if( memcmp( rh.s.game_code, hItem->GameCode, 4 ) != 0 )
|
|
||||||
{
|
|
||||||
hContext->ErrorCode = SheetCheckerError::ERROR_VERIFY_GAME_CODE;
|
|
||||||
}
|
|
||||||
else if( rh.s.rom_version != hItem->RomVersion )
|
|
||||||
{
|
|
||||||
hContext->ErrorCode = SheetCheckerError::ERROR_VERIFY_ROM_VERSION;
|
|
||||||
}
|
|
||||||
else if( crc != hItem->FileCRC )
|
|
||||||
{
|
|
||||||
hContext->ErrorCode = SheetCheckerError::ERROR_VERIFY_CRC;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 結果表示
|
|
||||||
printResult( hContext, &rh, hItem, hSrlFile, hSheetFile, crc );
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// ------------------------------------------------------------------
|
|
||||||
// 結果表示
|
|
||||||
// ------------------------------------------------------------------
|
|
||||||
|
|
||||||
void printResult( SheetCheckerContext ^context, ROM_Header *rh, SheetItem ^item,
|
|
||||||
System::String ^srlfile, System::String ^sheetfile, System::UInt16 srlcrc )
|
|
||||||
{
|
|
||||||
System::UInt16 tadver = item->RomVersion;
|
|
||||||
tadver = (tadver << 8) | item->SubmitVersion;
|
|
||||||
|
|
||||||
// 通常の表示
|
|
||||||
if( !context->bSubmitVersion && !context->bResult && !context->bTadVersion )
|
|
||||||
{
|
|
||||||
Console::WriteLine( "" );
|
|
||||||
Console::WriteLine( "SRL: " + srlfile );
|
|
||||||
Console::WriteLine( "Sheet: " + sheetfile );
|
|
||||||
Console::WriteLine( "" );
|
|
||||||
|
|
||||||
printf( " SRL Sheet\n" );
|
|
||||||
printf( "---------------------------------------\n" );
|
|
||||||
printf( "InitialCode: %c%c%c%c %c%c%c%c\n",
|
|
||||||
rh->s.game_code[0], rh->s.game_code[1], rh->s.game_code[2], rh->s.game_code[3],
|
|
||||||
item->GameCode[0], item->GameCode[1], item->GameCode[2], item->GameCode[3] );
|
|
||||||
printf( "RemasterVersion: %02X %02X\n", rh->s.rom_version, item->RomVersion );
|
|
||||||
printf( "File CRC: %04X %04X\n", srlcrc, item->FileCRC );
|
|
||||||
printf( "---------------------------------------\n" );
|
|
||||||
printf( "SubmitVersion: - %d (%02X)\n", item->SubmitVersion, item->SubmitVersion );
|
|
||||||
if( item->Media->Equals("NAND") )
|
|
||||||
{
|
|
||||||
printf( "TAD Version: %d (%04X)\n", tadver, tadver );
|
|
||||||
}
|
|
||||||
printf( "---------------------------------------\n" );
|
|
||||||
printf( "Result: " );
|
|
||||||
if( context->ErrorCode == SheetCheckerError::NOERROR )
|
|
||||||
{
|
|
||||||
printf( "OK\n" );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
printf( "NG (%d)\n", context->ErrorCode );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// オプションのときの表示
|
|
||||||
if( context->bSubmitVersion )
|
|
||||||
{
|
|
||||||
if( context->ErrorCode == SheetCheckerError::NOERROR )
|
|
||||||
{
|
|
||||||
printf( "%d\n", item->SubmitVersion );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
printf( "%d\n", context->ErrorCode ); // エラーのときはエラーコード
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if( context->bTadVersion )
|
|
||||||
{
|
|
||||||
if( !item->Media->Equals("NAND") )
|
|
||||||
{
|
|
||||||
context->ErrorCode = SheetCheckerError::ERROR_ARG;
|
|
||||||
}
|
|
||||||
if( context->ErrorCode == SheetCheckerError::NOERROR )
|
|
||||||
{
|
|
||||||
printf( "%d\n", tadver );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
printf( "%d\n", context->ErrorCode );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if( context->bResult )
|
|
||||||
{
|
|
||||||
printf( "%d\n", context->ErrorCode );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ------------------------------------------------------------------
|
|
||||||
// ROMヘッダの読み込み
|
|
||||||
// ------------------------------------------------------------------
|
|
||||||
|
|
||||||
System::Boolean readRomHeader( System::String ^srlfile, ROM_Header *rh )
|
|
||||||
{
|
|
||||||
FILE *fp = NULL;
|
|
||||||
const char *pchFilename =
|
|
||||||
(const char*)System::Runtime::InteropServices::Marshal::StringToHGlobalAnsi( srlfile ).ToPointer();
|
|
||||||
|
|
||||||
// ファイルを開いてROMヘッダのみ読み出す
|
|
||||||
if( fopen_s( &fp, pchFilename, "rb" ) != NULL )
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
(void)fseek( fp, 0, SEEK_SET ); // ROMヘッダはsrlの先頭から
|
|
||||||
|
|
||||||
// 1バイトをsizeof(~)だけリード (逆だと返り値がsizeof(~)にならないので注意)
|
|
||||||
if( fread( (void*)rh, 1, sizeof(ROM_Header), fp ) != sizeof(ROM_Header) )
|
|
||||||
{
|
|
||||||
fclose( fp );
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
fclose( fp );
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// ------------------------------------------------------------------
|
|
||||||
// 提出確認書の読み込み
|
|
||||||
// ------------------------------------------------------------------
|
|
||||||
|
|
||||||
System::Boolean readSheet( System::String ^sheetfile, SheetItem ^item )
|
|
||||||
{
|
|
||||||
// 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;
|
|
||||||
}
|
|
||||||
|
|
||||||
// XMLからデータを抽出
|
|
||||||
System::Xml::XmlElement ^root = doc->DocumentElement;
|
|
||||||
System::String ^text;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
item->Media = getXPathText( root, "/Sheet/Media" );
|
|
||||||
|
|
||||||
text = getXPathText( root, "/Sheet/GameCode" );
|
|
||||||
char code[4];
|
|
||||||
int i;
|
|
||||||
for(i=0; i<4; i++ )
|
|
||||||
{
|
|
||||||
code[i] = (char)text[i];
|
|
||||||
}
|
|
||||||
item->GameCode = code; // 代入したらコピーするように property を定義している
|
|
||||||
|
|
||||||
text = getXPathText( root, "/Sheet/RomVersion" );
|
|
||||||
if( text->Contains( "(" ) ) // 事前版のときには"(事前版)"が入る
|
|
||||||
{
|
|
||||||
text = text->Remove( text->IndexOf("(") );
|
|
||||||
}
|
|
||||||
text = text->Trim();
|
|
||||||
item->RomVersion = System::Byte::Parse( text, System::Globalization::NumberStyles::AllowHexSpecifier );
|
|
||||||
|
|
||||||
text = getXPathText( root, "/Sheet/CRC" );
|
|
||||||
if( text->Contains( "0x" ) )
|
|
||||||
{
|
|
||||||
text = text->Substring( text->IndexOf("x")+1 );
|
|
||||||
}
|
|
||||||
item->FileCRC = System::UInt16::Parse( text, System::Globalization::NumberStyles::AllowHexSpecifier );
|
|
||||||
|
|
||||||
text = getXPathText( root, "/Sheet/SubmitVersion" );
|
|
||||||
char c = (char)text[0];
|
|
||||||
if( ('G' <= c) && (c <= 'Z') ) // Fより上はG..Zで表現されていく(可能性あり)
|
|
||||||
{
|
|
||||||
item->SubmitVersion = c - 'G' + 16;
|
|
||||||
}
|
|
||||||
else if( ('g' <= c) && (c <= 'z') )
|
|
||||||
{
|
|
||||||
item->SubmitVersion = c - 'g' + 16;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
item->SubmitVersion = System::Byte::Parse( text, System::Globalization::NumberStyles::AllowHexSpecifier );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch( System::Exception ^ex )
|
|
||||||
{
|
|
||||||
(void)ex;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 中間ファイルを削除
|
|
||||||
if( System::IO::File::Exists( tmpfile ) )
|
|
||||||
{
|
|
||||||
System::IO::File::Delete( tmpfile );
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// ------------------------------------------------------------------
|
|
||||||
// getopt
|
|
||||||
// ------------------------------------------------------------------
|
|
||||||
|
|
||||||
// @ret オプションを除いたときのargc
|
|
||||||
System::Int32 parseOption( array<System::String ^> ^args, SheetCheckerContext ^context )
|
|
||||||
{
|
|
||||||
System::Collections::Generic::List<System::Int32> ^indexList
|
|
||||||
= gcnew System::Collections::Generic::List<System::Int32>;
|
|
||||||
|
|
||||||
int numopt = 0;
|
|
||||||
int i;
|
|
||||||
for( i=0; i < args->Length; i++ )
|
|
||||||
{
|
|
||||||
if( args[i]->StartsWith( "-s" ) )
|
|
||||||
{
|
|
||||||
context->bSubmitVersion = true;
|
|
||||||
numopt++;
|
|
||||||
}
|
|
||||||
else if( args[i]->StartsWith( "-r" ) )
|
|
||||||
{
|
|
||||||
context->bResult = true;
|
|
||||||
numopt++;
|
|
||||||
}
|
|
||||||
else if( args[i]->StartsWith( "-t" ) )
|
|
||||||
{
|
|
||||||
context->bTadVersion = true;
|
|
||||||
numopt++;
|
|
||||||
}
|
|
||||||
else if( !args[i]->StartsWith( "-" ) ) // オプションでない引数のindexを記録
|
|
||||||
{
|
|
||||||
indexList->Add(i);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
i=0;
|
|
||||||
for each( System::Int32 index in indexList ) // オプションでない引数を前につめていく
|
|
||||||
{
|
|
||||||
args[i] = args[index];
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
return (args->Length - numopt);
|
|
||||||
}
|
|
||||||
|
|
||||||
// ------------------------------------------------------------------
|
|
||||||
// XMLタグ検索
|
|
||||||
// ------------------------------------------------------------------
|
|
||||||
|
|
||||||
// @ret テキストが存在するときそのテキストを返す。存在しないときnullptr。
|
|
||||||
System::String^ getXPathText( System::Xml::XmlElement ^root, System::String ^xpath )
|
|
||||||
{
|
|
||||||
System::Xml::XmlNode ^tmp = root->SelectSingleNode( xpath );
|
|
||||||
if( tmp && tmp->FirstChild && tmp->FirstChild->Value )
|
|
||||||
{
|
|
||||||
return tmp->FirstChild->Value;
|
|
||||||
}
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
@ -1,115 +0,0 @@
|
|||||||
#pragma once
|
|
||||||
|
|
||||||
#include <cstdio>
|
|
||||||
#include <cstring>
|
|
||||||
|
|
||||||
// ------------------------------------------------------------------
|
|
||||||
// 構造体
|
|
||||||
// ------------------------------------------------------------------
|
|
||||||
|
|
||||||
// エラーコード
|
|
||||||
enum class SheetCheckerError
|
|
||||||
{
|
|
||||||
NOERROR = 0,
|
|
||||||
ERROR_VERIFY_CRC = -1,
|
|
||||||
ERROR_VERIFY_GAME_CODE = -2,
|
|
||||||
ERROR_VERIFY_ROM_VERSION = -3,
|
|
||||||
ERROR_READ_SRL = -8,
|
|
||||||
ERROR_READ_SHEET = -9,
|
|
||||||
ERROR_ARG = -10,
|
|
||||||
};
|
|
||||||
|
|
||||||
// 実行Context
|
|
||||||
ref class SheetCheckerContext
|
|
||||||
{
|
|
||||||
private:
|
|
||||||
System::Boolean ^hbSubmitVersion; // オプションフラグ
|
|
||||||
System::Boolean ^hbResult;
|
|
||||||
System::Boolean ^hbTadVersion;
|
|
||||||
SheetCheckerError ^hErrorCode; // エラー情報
|
|
||||||
public:
|
|
||||||
SheetCheckerContext()
|
|
||||||
{
|
|
||||||
this->hbSubmitVersion = gcnew System::Boolean(false);
|
|
||||||
this->hbResult = gcnew System::Boolean(false);
|
|
||||||
this->hbTadVersion = gcnew System::Boolean(false);
|
|
||||||
this->hErrorCode = gcnew SheetCheckerError( SheetCheckerError::NOERROR );
|
|
||||||
}
|
|
||||||
property System::Boolean bSubmitVersion
|
|
||||||
{
|
|
||||||
void set( System::Boolean flg ){ this->hbSubmitVersion = gcnew System::Boolean(flg); }
|
|
||||||
System::Boolean get(){ return *this->hbSubmitVersion; }
|
|
||||||
};
|
|
||||||
property System::Boolean bResult
|
|
||||||
{
|
|
||||||
void set( System::Boolean flg ){ this->hbResult = gcnew System::Boolean(flg); }
|
|
||||||
System::Boolean get(){ return *this->hbResult; }
|
|
||||||
};
|
|
||||||
property System::Boolean bTadVersion
|
|
||||||
{
|
|
||||||
void set( System::Boolean flg ){ this->hbTadVersion = gcnew System::Boolean(flg); }
|
|
||||||
System::Boolean get(){ return *this->hbTadVersion; }
|
|
||||||
};
|
|
||||||
property SheetCheckerError ErrorCode
|
|
||||||
{
|
|
||||||
void set( SheetCheckerError code ){ this->hErrorCode = gcnew SheetCheckerError(code); }
|
|
||||||
SheetCheckerError get(){ return *this->hErrorCode; }
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
// 提出確認書内の情報
|
|
||||||
ref class SheetItem
|
|
||||||
{
|
|
||||||
private:
|
|
||||||
char *pGameCode;
|
|
||||||
System::Byte ^hRomVersion;
|
|
||||||
System::UInt16 ^hFileCRC;
|
|
||||||
System::Byte ^hSubmitVersion;
|
|
||||||
public:
|
|
||||||
System::String ^hMedia;
|
|
||||||
public:
|
|
||||||
SheetItem()
|
|
||||||
{
|
|
||||||
this->pGameCode = new char[4];
|
|
||||||
std::memset( this->pGameCode, 0, 4 );
|
|
||||||
this->hRomVersion = gcnew System::Byte(0xFF);
|
|
||||||
this->hFileCRC = gcnew System::UInt16(0);
|
|
||||||
this->hSubmitVersion = gcnew System::Byte(0xFF);
|
|
||||||
this->hMedia = gcnew System::String("");
|
|
||||||
}
|
|
||||||
~SheetItem()
|
|
||||||
{
|
|
||||||
delete []this->pGameCode;
|
|
||||||
}
|
|
||||||
property char* GameCode
|
|
||||||
{
|
|
||||||
void set( char* p ){ memcpy( this->pGameCode, p, 4 ); }
|
|
||||||
char* get(){ return this->pGameCode; }
|
|
||||||
}
|
|
||||||
property System::Byte RomVersion
|
|
||||||
{
|
|
||||||
void set( System::Byte v ){ *this->hRomVersion = v; }
|
|
||||||
System::Byte get(){ return *this->hRomVersion; }
|
|
||||||
}
|
|
||||||
property System::UInt16 FileCRC
|
|
||||||
{
|
|
||||||
void set( System::UInt16 v ){ *this->hFileCRC = v; }
|
|
||||||
System::UInt16 get(){ return *this->hFileCRC; }
|
|
||||||
}
|
|
||||||
property System::Byte SubmitVersion
|
|
||||||
{
|
|
||||||
void set( System::Byte v ){ *this->hSubmitVersion = v; }
|
|
||||||
System::Byte get(){ return *this->hSubmitVersion; }
|
|
||||||
}
|
|
||||||
property System::String ^Media
|
|
||||||
{
|
|
||||||
void set( System::String ^str )
|
|
||||||
{
|
|
||||||
if( str != nullptr )
|
|
||||||
this->hMedia = System::String::Copy(str);
|
|
||||||
else
|
|
||||||
this->hMedia = gcnew System::String("");
|
|
||||||
}
|
|
||||||
System::String^ get(){ return System::String::Copy( this->hMedia ); }
|
|
||||||
}
|
|
||||||
};
|
|
||||||
@ -1,262 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="shift_jis"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="9.00"
|
|
||||||
Name="SheetCheckerTWL"
|
|
||||||
ProjectGUID="{426F4BD7-3EEB-421A-87AB-697DF71DFB47}"
|
|
||||||
RootNamespace="SheetCheckerTWL"
|
|
||||||
Keyword="ManagedCProj"
|
|
||||||
TargetFrameworkVersion="131072"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
CharacterSet="1"
|
|
||||||
ManagedExtensions="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
AdditionalIncludeDirectories="C:\twlsdk\include"
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
UsePrecompiledHeader="2"
|
|
||||||
WarningLevel="3"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="$(NoInherit)"
|
|
||||||
LinkIncremental="2"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
AssemblyDebug="1"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
CharacterSet="1"
|
|
||||||
ManagedExtensions="1"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalIncludeDirectories="C:\twlsdk\include"
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
UsePrecompiledHeader="2"
|
|
||||||
WarningLevel="3"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="$(NoInherit)"
|
|
||||||
LinkIncremental="1"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
<AssemblyReference
|
|
||||||
RelativePath="System.dll"
|
|
||||||
AssemblyName="System, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"
|
|
||||||
MinFrameworkVersion="131072"
|
|
||||||
/>
|
|
||||||
<AssemblyReference
|
|
||||||
RelativePath="System.Data.dll"
|
|
||||||
AssemblyName="System.Data, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=x86"
|
|
||||||
MinFrameworkVersion="131072"
|
|
||||||
/>
|
|
||||||
<AssemblyReference
|
|
||||||
RelativePath="System.XML.dll"
|
|
||||||
AssemblyName="System.Xml, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"
|
|
||||||
MinFrameworkVersion="131072"
|
|
||||||
/>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<Filter
|
|
||||||
Name="ソース ファイル"
|
|
||||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
|
||||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\AssemblyInfo.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\crc_whole.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\SheetCheckerTWL.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\stdafx.cpp"
|
|
||||||
>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
UsePrecompiledHeader="1"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
<FileConfiguration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
UsePrecompiledHeader="1"
|
|
||||||
/>
|
|
||||||
</FileConfiguration>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="ヘッダー ファイル"
|
|
||||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
|
||||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\crc_whole.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\resource.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\SheetCheckerTWL.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\stdafx.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="リソース ファイル"
|
|
||||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
|
||||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\app.ico"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\app.rc"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<File
|
|
||||||
RelativePath=".\ReadMe.txt"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
||||||
@ -1,65 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="shift_jis"?>
|
|
||||||
<VisualStudioUserFile
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="9.00"
|
|
||||||
ShowAllFiles="false"
|
|
||||||
>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
>
|
|
||||||
<DebugSettings
|
|
||||||
Command="$(TargetPath)"
|
|
||||||
WorkingDirectory=""
|
|
||||||
CommandArguments=""
|
|
||||||
Attach="false"
|
|
||||||
DebuggerType="3"
|
|
||||||
Remote="1"
|
|
||||||
RemoteMachine="PC2355"
|
|
||||||
RemoteCommand=""
|
|
||||||
HttpUrl=""
|
|
||||||
PDBPath=""
|
|
||||||
SQLDebugging=""
|
|
||||||
Environment=""
|
|
||||||
EnvironmentMerge="true"
|
|
||||||
DebuggerFlavor=""
|
|
||||||
MPIRunCommand=""
|
|
||||||
MPIRunArguments=""
|
|
||||||
MPIRunWorkingDirectory=""
|
|
||||||
ApplicationCommand=""
|
|
||||||
ApplicationArguments=""
|
|
||||||
ShimCommand=""
|
|
||||||
MPIAcceptMode=""
|
|
||||||
MPIAcceptFilter=""
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
>
|
|
||||||
<DebugSettings
|
|
||||||
Command="$(TargetPath)"
|
|
||||||
WorkingDirectory=""
|
|
||||||
CommandArguments=""
|
|
||||||
Attach="false"
|
|
||||||
DebuggerType="3"
|
|
||||||
Remote="1"
|
|
||||||
RemoteMachine="PC2355"
|
|
||||||
RemoteCommand=""
|
|
||||||
HttpUrl=""
|
|
||||||
PDBPath=""
|
|
||||||
SQLDebugging=""
|
|
||||||
Environment=""
|
|
||||||
EnvironmentMerge="true"
|
|
||||||
DebuggerFlavor=""
|
|
||||||
MPIRunCommand=""
|
|
||||||
MPIRunArguments=""
|
|
||||||
MPIRunWorkingDirectory=""
|
|
||||||
ApplicationCommand=""
|
|
||||||
ApplicationArguments=""
|
|
||||||
ShimCommand=""
|
|
||||||
MPIAcceptMode=""
|
|
||||||
MPIAcceptFilter=""
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
</VisualStudioUserFile>
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.1 KiB |
@ -1,63 +0,0 @@
|
|||||||
// Microsoft Visual C++ で生成されたリソース スクリプトです。
|
|
||||||
//
|
|
||||||
#include "resource.h"
|
|
||||||
|
|
||||||
#define APSTUDIO_READONLY_SYMBOLS
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
#undef APSTUDIO_READONLY_SYMBOLS
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// 英語 (米国) リソース
|
|
||||||
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// アイコン
|
|
||||||
//
|
|
||||||
|
|
||||||
// 最初に配置されたアイコン、または ID 値が最も低いアイコンが、アプリケーション アイコンになります。
|
|
||||||
|
|
||||||
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 リソースから生成されました。
|
|
||||||
//
|
|
||||||
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
#endif // APSTUDIO_INVOKED でない場合
|
|
||||||
|
|
||||||
@ -1,185 +0,0 @@
|
|||||||
// crc_whole.h の実装
|
|
||||||
|
|
||||||
#include "stdafx.h"
|
|
||||||
#include <apptype.h>
|
|
||||||
#include "common.h"
|
|
||||||
#include "crc_whole.h"
|
|
||||||
#include <cstring>
|
|
||||||
#include <cstdio>
|
|
||||||
|
|
||||||
#define CRCPOLY 0x1021
|
|
||||||
#define BUFLEN 0x1000
|
|
||||||
|
|
||||||
namespace MasterEditorTWL
|
|
||||||
{
|
|
||||||
u16 crc_table[0x100];
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------
|
|
||||||
関数名
|
|
||||||
inittable - initialize table
|
|
||||||
|
|
||||||
形式
|
|
||||||
static void inittable(unsigned short *table);
|
|
||||||
|
|
||||||
解説
|
|
||||||
CRC算出を高速化するための参照テーブルを作成する。
|
|
||||||
----------------------------------------------------------------------------*/
|
|
||||||
static void inittable(unsigned short *table)
|
|
||||||
{
|
|
||||||
unsigned short i, j, r;
|
|
||||||
|
|
||||||
for(i = 0; i < 0x100; i++) {
|
|
||||||
r = i << 8;
|
|
||||||
for(j = 0; j < 8; j++) {
|
|
||||||
if(r & 0x8000U)
|
|
||||||
r = (r << 1) ^ CRCPOLY;
|
|
||||||
else
|
|
||||||
r <<= 1;
|
|
||||||
}
|
|
||||||
*table++ = r;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*============================================================================*
|
|
||||||
CRC計算
|
|
||||||
製品技術部のCRCテーブルを使ったCRC計算関数
|
|
||||||
|
|
||||||
偶数バイトと奇数バイトを入れ替えてから計算する。
|
|
||||||
*============================================================================*/
|
|
||||||
static u16 newGetCRC
|
|
||||||
(
|
|
||||||
u16 start, // CRC初期値(累積値)
|
|
||||||
u16 *datap, // データの先頭を指すポインタ、中島さんのと違い、u8
|
|
||||||
u32 size // バイト単位でのデータサイズ
|
|
||||||
)
|
|
||||||
{
|
|
||||||
u32 i;
|
|
||||||
u16 crc;
|
|
||||||
u8* byte;
|
|
||||||
|
|
||||||
crc = start;
|
|
||||||
byte = (u8 *)datap;
|
|
||||||
|
|
||||||
for (i=0; i<size; i+=2)
|
|
||||||
{
|
|
||||||
u8 byte0, byte1;
|
|
||||||
|
|
||||||
byte0 = *byte; byte++;
|
|
||||||
byte1 = *byte; byte++;
|
|
||||||
|
|
||||||
crc = (crc << 8) ^ crc_table[(crc >> 8) ^ byte1];
|
|
||||||
crc = (crc << 8) ^ crc_table[(crc >> 8) ^ byte0];
|
|
||||||
}
|
|
||||||
|
|
||||||
return crc;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
|
||||||
|
|
||||||
Name: getSeg3CRCInFp
|
|
||||||
|
|
||||||
Description: Segment3(0x3000-0x3fff)のCRCを算出
|
|
||||||
|
|
||||||
Arguments: [in] srlファイルのファイルポインタ
|
|
||||||
[out] CRC格納先
|
|
||||||
|
|
||||||
Return: 成功ならTRUE.
|
|
||||||
|
|
||||||
*---------------------------------------------------------------------------*/
|
|
||||||
BOOL getSeg3CRCInFp( FILE *fp, u16 *pCRC )
|
|
||||||
{
|
|
||||||
u16 crc;
|
|
||||||
u16 data[ 0x1000 / 2 ]; // 64Kバイト(512Kビット)
|
|
||||||
|
|
||||||
if( !fp )
|
|
||||||
{
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
// CRCテーブル初期化(製品技術部のコード)
|
|
||||||
inittable(crc_table);
|
|
||||||
|
|
||||||
// 0x3000 から 0x3fff までの CRC をとる
|
|
||||||
fseek( fp, 0x3000, SEEK_SET );
|
|
||||||
fread( (void*)data, sizeof(data), 1, fp );
|
|
||||||
crc = newGetCRC( 0, data, sizeof(data) );
|
|
||||||
*pCRC = crc;
|
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
|
||||||
|
|
||||||
Name: getWholeCRCInFp
|
|
||||||
|
|
||||||
Description: srlファイル全体のCRCを算出
|
|
||||||
|
|
||||||
Arguments: [in] srlファイルのファイルポインタ
|
|
||||||
[out] CRC格納先
|
|
||||||
|
|
||||||
Return: 成功ならTRUE.
|
|
||||||
|
|
||||||
*---------------------------------------------------------------------------*/
|
|
||||||
BOOL getWholeCRCInFp( FILE *fp, u16 *pCRC )
|
|
||||||
{
|
|
||||||
u32 file_size;
|
|
||||||
u16 crc;
|
|
||||||
u32 i;
|
|
||||||
u16 data[ 0x1000 / 2 ]; // 64Kバイト(512Kビット)
|
|
||||||
|
|
||||||
if( !fp )
|
|
||||||
{
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
// ファイルサイズチェック
|
|
||||||
fseek( fp, 0, SEEK_END );
|
|
||||||
file_size = ftell( fp );
|
|
||||||
|
|
||||||
// CRCテーブル初期化(製品技術部のコード)
|
|
||||||
inittable(crc_table);
|
|
||||||
|
|
||||||
// ファイル全体のCRC をとる
|
|
||||||
fseek( fp, 0, SEEK_SET );
|
|
||||||
crc = 0;
|
|
||||||
for ( i=0; i<file_size; i+=sizeof(data) )
|
|
||||||
{
|
|
||||||
fread( (void*)data, sizeof(data), 1, fp );
|
|
||||||
crc = newGetCRC( crc, data, sizeof(data) );
|
|
||||||
}
|
|
||||||
*pCRC = crc;
|
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
|
||||||
|
|
||||||
Name: getWholeCRCInFile
|
|
||||||
|
|
||||||
Description: srlファイル全体のCRCを算出
|
|
||||||
|
|
||||||
Arguments: [in] srlファイル名(呼び出し前に閉じておくこと)
|
|
||||||
[out] CRC格納先
|
|
||||||
|
|
||||||
Return: None.
|
|
||||||
|
|
||||||
*---------------------------------------------------------------------------*/
|
|
||||||
BOOL getWholeCRCInFile( System::String ^filename, u16 *pCRC )
|
|
||||||
{
|
|
||||||
FILE* fp;
|
|
||||||
const char *pchFilename =
|
|
||||||
(const char*)System::Runtime::InteropServices::Marshal::StringToHGlobalAnsi( filename ).ToPointer();
|
|
||||||
|
|
||||||
fopen_s( &fp, pchFilename, "rb" );
|
|
||||||
if ( fp == NULL )
|
|
||||||
{
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
getWholeCRCInFp( fp, pCRC );
|
|
||||||
|
|
||||||
fclose( fp );
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
} // end of namespace MasterEditorTWL
|
|
||||||
@ -1,179 +0,0 @@
|
|||||||
// crc_whole.h の実装
|
|
||||||
|
|
||||||
#include "stdafx.h"
|
|
||||||
#include "crc_whole.h"
|
|
||||||
#include <cstring>
|
|
||||||
#include <cstdio>
|
|
||||||
|
|
||||||
#define CRCPOLY 0x1021
|
|
||||||
#define BUFLEN 0x1000
|
|
||||||
|
|
||||||
u16 crc_table[0x100];
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------
|
|
||||||
関数名
|
|
||||||
inittable - initialize table
|
|
||||||
|
|
||||||
形式
|
|
||||||
static void inittable(unsigned short *table);
|
|
||||||
|
|
||||||
解説
|
|
||||||
CRC算出を高速化するための参照テーブルを作成する。
|
|
||||||
----------------------------------------------------------------------------*/
|
|
||||||
static void inittable(unsigned short *table)
|
|
||||||
{
|
|
||||||
unsigned short i, j, r;
|
|
||||||
|
|
||||||
for(i = 0; i < 0x100; i++) {
|
|
||||||
r = i << 8;
|
|
||||||
for(j = 0; j < 8; j++) {
|
|
||||||
if(r & 0x8000U)
|
|
||||||
r = (r << 1) ^ CRCPOLY;
|
|
||||||
else
|
|
||||||
r <<= 1;
|
|
||||||
}
|
|
||||||
*table++ = r;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*============================================================================*
|
|
||||||
CRC計算
|
|
||||||
製品技術部のCRCテーブルを使ったCRC計算関数
|
|
||||||
|
|
||||||
偶数バイトと奇数バイトを入れ替えてから計算する。
|
|
||||||
*============================================================================*/
|
|
||||||
static u16 newGetCRC
|
|
||||||
(
|
|
||||||
u16 start, // CRC初期値(累積値)
|
|
||||||
u16 *datap, // データの先頭を指すポインタ、中島さんのと違い、u8
|
|
||||||
u32 size // バイト単位でのデータサイズ
|
|
||||||
)
|
|
||||||
{
|
|
||||||
u32 i;
|
|
||||||
u16 crc;
|
|
||||||
u8* byte;
|
|
||||||
|
|
||||||
crc = start;
|
|
||||||
byte = (u8 *)datap;
|
|
||||||
|
|
||||||
for (i=0; i<size; i+=2)
|
|
||||||
{
|
|
||||||
u8 byte0, byte1;
|
|
||||||
|
|
||||||
byte0 = *byte; byte++;
|
|
||||||
byte1 = *byte; byte++;
|
|
||||||
|
|
||||||
crc = (crc << 8) ^ crc_table[(crc >> 8) ^ byte1];
|
|
||||||
crc = (crc << 8) ^ crc_table[(crc >> 8) ^ byte0];
|
|
||||||
}
|
|
||||||
|
|
||||||
return crc;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
|
||||||
|
|
||||||
Name: getSeg3CRCInFp
|
|
||||||
|
|
||||||
Description: Segment3(0x3000-0x3fff)のCRCを算出
|
|
||||||
|
|
||||||
Arguments: [in] srlファイルのファイルポインタ
|
|
||||||
[out] CRC格納先
|
|
||||||
|
|
||||||
Return: 成功ならTRUE.
|
|
||||||
|
|
||||||
*---------------------------------------------------------------------------*/
|
|
||||||
BOOL getSeg3CRCInFp( FILE *fp, u16 *pCRC )
|
|
||||||
{
|
|
||||||
u16 crc;
|
|
||||||
u16 data[ 0x1000 / 2 ]; // 64Kバイト(512Kビット)
|
|
||||||
|
|
||||||
if( !fp )
|
|
||||||
{
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
// CRCテーブル初期化(製品技術部のコード)
|
|
||||||
inittable(crc_table);
|
|
||||||
|
|
||||||
// 0x3000 から 0x3fff までの CRC をとる
|
|
||||||
fseek( fp, 0x3000, SEEK_SET );
|
|
||||||
fread( (void*)data, sizeof(data), 1, fp );
|
|
||||||
crc = newGetCRC( 0, data, sizeof(data) );
|
|
||||||
*pCRC = crc;
|
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
|
||||||
|
|
||||||
Name: getWholeCRCInFp
|
|
||||||
|
|
||||||
Description: srlファイル全体のCRCを算出
|
|
||||||
|
|
||||||
Arguments: [in] srlファイルのファイルポインタ
|
|
||||||
[out] CRC格納先
|
|
||||||
|
|
||||||
Return: 成功ならTRUE.
|
|
||||||
|
|
||||||
*---------------------------------------------------------------------------*/
|
|
||||||
BOOL getWholeCRCInFp( FILE *fp, u16 *pCRC )
|
|
||||||
{
|
|
||||||
u32 file_size;
|
|
||||||
u16 crc;
|
|
||||||
u32 i;
|
|
||||||
u16 data[ 0x1000 / 2 ]; // 64Kバイト(512Kビット)
|
|
||||||
|
|
||||||
if( !fp )
|
|
||||||
{
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
// ファイルサイズチェック
|
|
||||||
fseek( fp, 0, SEEK_END );
|
|
||||||
file_size = ftell( fp );
|
|
||||||
|
|
||||||
// CRCテーブル初期化(製品技術部のコード)
|
|
||||||
inittable(crc_table);
|
|
||||||
|
|
||||||
// ファイル全体のCRC をとる
|
|
||||||
fseek( fp, 0, SEEK_SET );
|
|
||||||
crc = 0;
|
|
||||||
for ( i=0; i<file_size; i+=sizeof(data) )
|
|
||||||
{
|
|
||||||
fread( (void*)data, sizeof(data), 1, fp );
|
|
||||||
crc = newGetCRC( crc, data, sizeof(data) );
|
|
||||||
}
|
|
||||||
*pCRC = crc;
|
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
|
||||||
|
|
||||||
Name: getWholeCRCInFile
|
|
||||||
|
|
||||||
Description: srlファイル全体のCRCを算出
|
|
||||||
|
|
||||||
Arguments: [in] srlファイル名(呼び出し前に閉じておくこと)
|
|
||||||
[out] CRC格納先
|
|
||||||
|
|
||||||
Return: None.
|
|
||||||
|
|
||||||
*---------------------------------------------------------------------------*/
|
|
||||||
BOOL getWholeCRCInFile( System::String ^filename, u16 *pCRC )
|
|
||||||
{
|
|
||||||
FILE* fp;
|
|
||||||
const char *pchFilename =
|
|
||||||
(const char*)System::Runtime::InteropServices::Marshal::StringToHGlobalAnsi( filename ).ToPointer();
|
|
||||||
|
|
||||||
fopen_s( &fp, pchFilename, "rb" );
|
|
||||||
if ( fp == NULL )
|
|
||||||
{
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
getWholeCRCInFp( fp, pCRC );
|
|
||||||
|
|
||||||
fclose( fp );
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
@ -1,49 +0,0 @@
|
|||||||
#pragma once
|
|
||||||
|
|
||||||
// 署名用の鍵データの宣言
|
|
||||||
|
|
||||||
#include <twl/types.h>
|
|
||||||
#include <cstdio>
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
|
||||||
|
|
||||||
Name: getSeg3CRCInFp
|
|
||||||
|
|
||||||
Description: Segment3(0x3000-0x3fff)のCRCを算出
|
|
||||||
|
|
||||||
Arguments: [in] srlファイルのファイルポインタ
|
|
||||||
[out] CRC格納先
|
|
||||||
|
|
||||||
Return: 成功ならTRUE.
|
|
||||||
|
|
||||||
*---------------------------------------------------------------------------*/
|
|
||||||
BOOL getSeg3CRCInFp( FILE *fp, u16 *pCRC );
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
|
||||||
|
|
||||||
Name: getWholeCRCInFp
|
|
||||||
|
|
||||||
Description: srlファイル全体のCRCを算出
|
|
||||||
|
|
||||||
Arguments: [in] srlファイルのファイルポインタ
|
|
||||||
[out] CRC格納先
|
|
||||||
|
|
||||||
Return: 成功ならTRUE.
|
|
||||||
|
|
||||||
*---------------------------------------------------------------------------*/
|
|
||||||
BOOL getWholeCRCInFp( FILE *fp, u16 *pCRC );
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
|
||||||
|
|
||||||
Name: getWholeCRCInFile
|
|
||||||
|
|
||||||
Description: srlファイル全体のCRCを算出
|
|
||||||
|
|
||||||
Arguments: [in] srlファイル名(呼び出し前に閉じておくこと)
|
|
||||||
[out] CRC格納先
|
|
||||||
|
|
||||||
Return: None.
|
|
||||||
|
|
||||||
*---------------------------------------------------------------------------*/
|
|
||||||
BOOL getWholeCRCInFile( System::String ^filename, u16 *pCRC );
|
|
||||||
|
|
||||||
@ -1,3 +0,0 @@
|
|||||||
//{{NO_DEPENDENCIES}}
|
|
||||||
// Microsoft Visual C++ generated include file.
|
|
||||||
// Used by app.rc
|
|
||||||
@ -1,7 +0,0 @@
|
|||||||
// stdafx.cpp : 標準インクルード SheetCheckerTWL.pch のみを
|
|
||||||
// 含むソース ファイルは、プリコンパイル済みヘッダーになります。
|
|
||||||
// stdafx.obj にはプリコンパイル済み型情報が含まれます。
|
|
||||||
|
|
||||||
#include "stdafx.h"
|
|
||||||
|
|
||||||
|
|
||||||
@ -1,8 +0,0 @@
|
|||||||
// stdafx.h : 標準のシステム インクルード ファイルのインクルード ファイル、または
|
|
||||||
// 参照回数が多く、かつあまり変更されない、プロジェクト専用のインクルード ファイル
|
|
||||||
// を記述します。
|
|
||||||
//
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
// TODO: プログラムに必要な追加ヘッダーをここで参照してください。
|
|
||||||
@ -1,804 +0,0 @@
|
|||||||
"DeployProject"
|
|
||||||
{
|
|
||||||
"VSVersion" = "3:800"
|
|
||||||
"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}"
|
|
||||||
"IsWebType" = "8:FALSE"
|
|
||||||
"ProjectName" = "8:SheetCheckerTWL_Setup"
|
|
||||||
"LanguageId" = "3:1041"
|
|
||||||
"CodePage" = "3:932"
|
|
||||||
"UILanguageId" = "3:1041"
|
|
||||||
"SccProjectName" = "8:"
|
|
||||||
"SccLocalPath" = "8:"
|
|
||||||
"SccAuxPath" = "8:"
|
|
||||||
"SccProvider" = "8:"
|
|
||||||
"Hierarchy"
|
|
||||||
{
|
|
||||||
"Entry"
|
|
||||||
{
|
|
||||||
"MsmKey" = "8:_28AEC9B44C6A496CAC798DE176782757"
|
|
||||||
"OwnerKey" = "8:_7EA6C452688D458CB8D7A9FD80D8A12F"
|
|
||||||
"MsmSig" = "8:_UNDEFINED"
|
|
||||||
}
|
|
||||||
"Entry"
|
|
||||||
{
|
|
||||||
"MsmKey" = "8:_4B4CA748E58D452FA66FB1EC9312CCA7"
|
|
||||||
"OwnerKey" = "8:_UNDEFINED"
|
|
||||||
"MsmSig" = "8:_UNDEFINED"
|
|
||||||
}
|
|
||||||
"Entry"
|
|
||||||
{
|
|
||||||
"MsmKey" = "8:_7EA6C452688D458CB8D7A9FD80D8A12F"
|
|
||||||
"OwnerKey" = "8:_UNDEFINED"
|
|
||||||
"MsmSig" = "8:_UNDEFINED"
|
|
||||||
}
|
|
||||||
"Entry"
|
|
||||||
{
|
|
||||||
"MsmKey" = "8:_87C9E6F56CF848E191AADE5E55F0BFB2"
|
|
||||||
"OwnerKey" = "8:_28AEC9B44C6A496CAC798DE176782757"
|
|
||||||
"MsmSig" = "8:_UNDEFINED"
|
|
||||||
}
|
|
||||||
"Entry"
|
|
||||||
{
|
|
||||||
"MsmKey" = "8:_UNDEFINED"
|
|
||||||
"OwnerKey" = "8:_7EA6C452688D458CB8D7A9FD80D8A12F"
|
|
||||||
"MsmSig" = "8:_UNDEFINED"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"Configurations"
|
|
||||||
{
|
|
||||||
"Debug"
|
|
||||||
{
|
|
||||||
"DisplayName" = "8:Debug"
|
|
||||||
"IsDebugOnly" = "11:TRUE"
|
|
||||||
"IsReleaseOnly" = "11:FALSE"
|
|
||||||
"OutputFilename" = "8:Debug\\SheetCheckerTWL_Setup.msi"
|
|
||||||
"PackageFilesAs" = "3:2"
|
|
||||||
"PackageFileSize" = "3:-2147483648"
|
|
||||||
"CabType" = "3:1"
|
|
||||||
"Compression" = "3:2"
|
|
||||||
"SignOutput" = "11:FALSE"
|
|
||||||
"CertificateFile" = "8:"
|
|
||||||
"PrivateKeyFile" = "8:"
|
|
||||||
"TimeStampServer" = "8:"
|
|
||||||
"InstallerBootstrapper" = "3:2"
|
|
||||||
"BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
|
|
||||||
{
|
|
||||||
"Enabled" = "11:TRUE"
|
|
||||||
"PromptEnabled" = "11:TRUE"
|
|
||||||
"PrerequisitesLocation" = "2:1"
|
|
||||||
"Url" = "8:"
|
|
||||||
"ComponentsUrl" = "8:"
|
|
||||||
"Items"
|
|
||||||
{
|
|
||||||
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Net.Framework.2.0"
|
|
||||||
{
|
|
||||||
"Name" = "8:.NET Framework 2.0 (x86)"
|
|
||||||
"ProductCode" = "8:Microsoft.Net.Framework.2.0"
|
|
||||||
}
|
|
||||||
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Windows.Installer.3.1"
|
|
||||||
{
|
|
||||||
"Name" = "8:Windows インストーラ 3.1"
|
|
||||||
"ProductCode" = "8:Microsoft.Windows.Installer.3.1"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"Release"
|
|
||||||
{
|
|
||||||
"DisplayName" = "8:Release"
|
|
||||||
"IsDebugOnly" = "11:FALSE"
|
|
||||||
"IsReleaseOnly" = "11:TRUE"
|
|
||||||
"OutputFilename" = "8:Release\\SheetCheckerTWL_Setup.msi"
|
|
||||||
"PackageFilesAs" = "3:2"
|
|
||||||
"PackageFileSize" = "3:-2147483648"
|
|
||||||
"CabType" = "3:1"
|
|
||||||
"Compression" = "3:2"
|
|
||||||
"SignOutput" = "11:FALSE"
|
|
||||||
"CertificateFile" = "8:"
|
|
||||||
"PrivateKeyFile" = "8:"
|
|
||||||
"TimeStampServer" = "8:"
|
|
||||||
"InstallerBootstrapper" = "3:2"
|
|
||||||
"BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
|
|
||||||
{
|
|
||||||
"Enabled" = "11:TRUE"
|
|
||||||
"PromptEnabled" = "11:TRUE"
|
|
||||||
"PrerequisitesLocation" = "2:1"
|
|
||||||
"Url" = "8:"
|
|
||||||
"ComponentsUrl" = "8:"
|
|
||||||
"Items"
|
|
||||||
{
|
|
||||||
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Net.Framework.2.0"
|
|
||||||
{
|
|
||||||
"Name" = "8:.NET Framework 2.0 (x86)"
|
|
||||||
"ProductCode" = "8:Microsoft.Net.Framework.2.0"
|
|
||||||
}
|
|
||||||
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Windows.Installer.3.1"
|
|
||||||
{
|
|
||||||
"Name" = "8:Windows インストーラ 3.1"
|
|
||||||
"ProductCode" = "8:Microsoft.Windows.Installer.3.1"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"Deployable"
|
|
||||||
{
|
|
||||||
"CustomAction"
|
|
||||||
{
|
|
||||||
}
|
|
||||||
"DefaultFeature"
|
|
||||||
{
|
|
||||||
"Name" = "8:DefaultFeature"
|
|
||||||
"Title" = "8:"
|
|
||||||
"Description" = "8:"
|
|
||||||
}
|
|
||||||
"ExternalPersistence"
|
|
||||||
{
|
|
||||||
"LaunchCondition"
|
|
||||||
{
|
|
||||||
"{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_275FA7A8646C4F62914A2FC8A25207E6"
|
|
||||||
{
|
|
||||||
"Name" = "8:.NET Framework"
|
|
||||||
"Message" = "8:[VSDNETMSG]"
|
|
||||||
"Version" = "8:2.0.50727"
|
|
||||||
"AllowLaterVersions" = "11:FALSE"
|
|
||||||
"InstallUrl" = "8:http://go.microsoft.com/fwlink/?LinkId=76617"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"File"
|
|
||||||
{
|
|
||||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_4B4CA748E58D452FA66FB1EC9312CCA7"
|
|
||||||
{
|
|
||||||
"SourcePath" = "8:..\\extract_sheet.xsl"
|
|
||||||
"TargetName" = "8:extract_sheet.xsl"
|
|
||||||
"Tag" = "8:"
|
|
||||||
"Folder" = "8:_AA91A66096B740B5B6C31155FF0A5E08"
|
|
||||||
"Condition" = "8:"
|
|
||||||
"Transitive" = "11:FALSE"
|
|
||||||
"Vital" = "11:TRUE"
|
|
||||||
"ReadOnly" = "11:FALSE"
|
|
||||||
"Hidden" = "11:FALSE"
|
|
||||||
"System" = "11:FALSE"
|
|
||||||
"Permanent" = "11:FALSE"
|
|
||||||
"SharedLegacy" = "11:FALSE"
|
|
||||||
"PackageAs" = "3:1"
|
|
||||||
"Register" = "3:1"
|
|
||||||
"Exclude" = "11:FALSE"
|
|
||||||
"IsDependency" = "11:FALSE"
|
|
||||||
"IsolateTo" = "8:"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"FileType"
|
|
||||||
{
|
|
||||||
}
|
|
||||||
"Folder"
|
|
||||||
{
|
|
||||||
"{3C67513D-01DD-4637-8A68-80971EB9504F}:_AA91A66096B740B5B6C31155FF0A5E08"
|
|
||||||
{
|
|
||||||
"DefaultLocation" = "8:[ProgramFilesFolder][Manufacturer]\\[ProductName]"
|
|
||||||
"Name" = "8:#1925"
|
|
||||||
"AlwaysCreate" = "11:FALSE"
|
|
||||||
"Condition" = "8:"
|
|
||||||
"Transitive" = "11:FALSE"
|
|
||||||
"Property" = "8:TARGETDIR"
|
|
||||||
"Folders"
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"{1525181F-901A-416C-8A58-119130FE478E}:_B9CF6AF8705E44238268FFF09EDAA6F7"
|
|
||||||
{
|
|
||||||
"Name" = "8:#1916"
|
|
||||||
"AlwaysCreate" = "11:FALSE"
|
|
||||||
"Condition" = "8:"
|
|
||||||
"Transitive" = "11:FALSE"
|
|
||||||
"Property" = "8:DesktopFolder"
|
|
||||||
"Folders"
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"{1525181F-901A-416C-8A58-119130FE478E}:_CC3276889D254EF1B24800480CE5872D"
|
|
||||||
{
|
|
||||||
"Name" = "8:#1919"
|
|
||||||
"AlwaysCreate" = "11:FALSE"
|
|
||||||
"Condition" = "8:"
|
|
||||||
"Transitive" = "11:FALSE"
|
|
||||||
"Property" = "8:ProgramMenuFolder"
|
|
||||||
"Folders"
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"LaunchCondition"
|
|
||||||
{
|
|
||||||
}
|
|
||||||
"Locator"
|
|
||||||
{
|
|
||||||
}
|
|
||||||
"MsiBootstrapper"
|
|
||||||
{
|
|
||||||
"LangId" = "3:1041"
|
|
||||||
"RequiresElevation" = "11:FALSE"
|
|
||||||
}
|
|
||||||
"Product"
|
|
||||||
{
|
|
||||||
"Name" = "8:Microsoft Visual Studio"
|
|
||||||
"ProductName" = "8:SheetCheckerTWL"
|
|
||||||
"ProductCode" = "8:{94D1CE54-68B9-412D-85E8-FD8A51BE0659}"
|
|
||||||
"PackageCode" = "8:{8182CDF9-DB4C-4744-AFAF-6B612EED0FAD}"
|
|
||||||
"UpgradeCode" = "8:{2B5B3BC8-18E9-4729-81CC-00BCEEFCF5FF}"
|
|
||||||
"RestartWWWService" = "11:FALSE"
|
|
||||||
"RemovePreviousVersions" = "11:FALSE"
|
|
||||||
"DetectNewerInstalledVersion" = "11:TRUE"
|
|
||||||
"InstallAllUsers" = "11:FALSE"
|
|
||||||
"ProductVersion" = "8:1.0.0"
|
|
||||||
"Manufacturer" = "8:nintendo"
|
|
||||||
"ARPHELPTELEPHONE" = "8:"
|
|
||||||
"ARPHELPLINK" = "8:"
|
|
||||||
"Title" = "8:SheetCheckerTWL_Setup"
|
|
||||||
"Subject" = "8:"
|
|
||||||
"ARPCONTACT" = "8:nintendo"
|
|
||||||
"Keywords" = "8:"
|
|
||||||
"ARPCOMMENTS" = "8:"
|
|
||||||
"ARPURLINFOABOUT" = "8:"
|
|
||||||
"ARPPRODUCTICON" = "8:"
|
|
||||||
"ARPIconIndex" = "3:0"
|
|
||||||
"SearchPath" = "8:"
|
|
||||||
"UseSystemSearchPath" = "11:TRUE"
|
|
||||||
"TargetPlatform" = "3:0"
|
|
||||||
"PreBuildEvent" = "8:"
|
|
||||||
"PostBuildEvent" = "8:"
|
|
||||||
"RunPostBuildEvent" = "3:0"
|
|
||||||
}
|
|
||||||
"Registry"
|
|
||||||
{
|
|
||||||
"HKLM"
|
|
||||||
{
|
|
||||||
"Keys"
|
|
||||||
{
|
|
||||||
"{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_9E049ED5057D403486E570413CD12525"
|
|
||||||
{
|
|
||||||
"Name" = "8:Software"
|
|
||||||
"Condition" = "8:"
|
|
||||||
"AlwaysCreate" = "11:FALSE"
|
|
||||||
"DeleteAtUninstall" = "11:FALSE"
|
|
||||||
"Transitive" = "11:FALSE"
|
|
||||||
"Keys"
|
|
||||||
{
|
|
||||||
"{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_3FC09B60C63A40B790F2EA2BD3A8FF7D"
|
|
||||||
{
|
|
||||||
"Name" = "8:[Manufacturer]"
|
|
||||||
"Condition" = "8:"
|
|
||||||
"AlwaysCreate" = "11:FALSE"
|
|
||||||
"DeleteAtUninstall" = "11:FALSE"
|
|
||||||
"Transitive" = "11:FALSE"
|
|
||||||
"Keys"
|
|
||||||
{
|
|
||||||
}
|
|
||||||
"Values"
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"Values"
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"HKCU"
|
|
||||||
{
|
|
||||||
"Keys"
|
|
||||||
{
|
|
||||||
"{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_22772B373BF34E038A904AEE76DC2E8D"
|
|
||||||
{
|
|
||||||
"Name" = "8:Software"
|
|
||||||
"Condition" = "8:"
|
|
||||||
"AlwaysCreate" = "11:FALSE"
|
|
||||||
"DeleteAtUninstall" = "11:FALSE"
|
|
||||||
"Transitive" = "11:FALSE"
|
|
||||||
"Keys"
|
|
||||||
{
|
|
||||||
"{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_8A8A67529C8C4B06BC06361E5DB5F44A"
|
|
||||||
{
|
|
||||||
"Name" = "8:[Manufacturer]"
|
|
||||||
"Condition" = "8:"
|
|
||||||
"AlwaysCreate" = "11:FALSE"
|
|
||||||
"DeleteAtUninstall" = "11:FALSE"
|
|
||||||
"Transitive" = "11:FALSE"
|
|
||||||
"Keys"
|
|
||||||
{
|
|
||||||
}
|
|
||||||
"Values"
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"Values"
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"HKCR"
|
|
||||||
{
|
|
||||||
"Keys"
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"HKU"
|
|
||||||
{
|
|
||||||
"Keys"
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"HKPU"
|
|
||||||
{
|
|
||||||
"Keys"
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"Sequences"
|
|
||||||
{
|
|
||||||
}
|
|
||||||
"Shortcut"
|
|
||||||
{
|
|
||||||
}
|
|
||||||
"UserInterface"
|
|
||||||
{
|
|
||||||
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_2619EE0A7B21424D96116254772CEC95"
|
|
||||||
{
|
|
||||||
"Name" = "8:#1900"
|
|
||||||
"Sequence" = "3:2"
|
|
||||||
"Attributes" = "3:1"
|
|
||||||
"Dialogs"
|
|
||||||
{
|
|
||||||
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_3D8E5F5AFC6B423A8D712B7271E2BCC9"
|
|
||||||
{
|
|
||||||
"Sequence" = "3:100"
|
|
||||||
"DisplayName" = "8:ようこそ"
|
|
||||||
"UseDynamicProperties" = "11:TRUE"
|
|
||||||
"IsDependency" = "11:FALSE"
|
|
||||||
"SourcePath" = "8:<VsdDialogDir>\\VsdAdminWelcomeDlg.wid"
|
|
||||||
"Properties"
|
|
||||||
{
|
|
||||||
"BannerBitmap"
|
|
||||||
{
|
|
||||||
"Name" = "8:BannerBitmap"
|
|
||||||
"DisplayName" = "8:#1001"
|
|
||||||
"Description" = "8:#1101"
|
|
||||||
"Type" = "3:8"
|
|
||||||
"ContextData" = "8:Bitmap"
|
|
||||||
"Attributes" = "3:4"
|
|
||||||
"Setting" = "3:1"
|
|
||||||
"UsePlugInResources" = "11:TRUE"
|
|
||||||
}
|
|
||||||
"CopyrightWarning"
|
|
||||||
{
|
|
||||||
"Name" = "8:CopyrightWarning"
|
|
||||||
"DisplayName" = "8:#1002"
|
|
||||||
"Description" = "8:#1102"
|
|
||||||
"Type" = "3:3"
|
|
||||||
"ContextData" = "8:"
|
|
||||||
"Attributes" = "3:0"
|
|
||||||
"Setting" = "3:1"
|
|
||||||
"Value" = "8:#1202"
|
|
||||||
"DefaultValue" = "8:#1202"
|
|
||||||
"UsePlugInResources" = "11:TRUE"
|
|
||||||
}
|
|
||||||
"Welcome"
|
|
||||||
{
|
|
||||||
"Name" = "8:Welcome"
|
|
||||||
"DisplayName" = "8:#1003"
|
|
||||||
"Description" = "8:#1103"
|
|
||||||
"Type" = "3:3"
|
|
||||||
"ContextData" = "8:"
|
|
||||||
"Attributes" = "3:0"
|
|
||||||
"Setting" = "3:1"
|
|
||||||
"Value" = "8:#1203"
|
|
||||||
"DefaultValue" = "8:#1203"
|
|
||||||
"UsePlugInResources" = "11:TRUE"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_6AF2C7DC431A4ED6A3FF0BA5E3D09262"
|
|
||||||
{
|
|
||||||
"Sequence" = "3:300"
|
|
||||||
"DisplayName" = "8:インストールの確認"
|
|
||||||
"UseDynamicProperties" = "11:TRUE"
|
|
||||||
"IsDependency" = "11:FALSE"
|
|
||||||
"SourcePath" = "8:<VsdDialogDir>\\VsdAdminConfirmDlg.wid"
|
|
||||||
"Properties"
|
|
||||||
{
|
|
||||||
"BannerBitmap"
|
|
||||||
{
|
|
||||||
"Name" = "8:BannerBitmap"
|
|
||||||
"DisplayName" = "8:#1001"
|
|
||||||
"Description" = "8:#1101"
|
|
||||||
"Type" = "3:8"
|
|
||||||
"ContextData" = "8:Bitmap"
|
|
||||||
"Attributes" = "3:4"
|
|
||||||
"Setting" = "3:1"
|
|
||||||
"UsePlugInResources" = "11:TRUE"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_B99542E33E73410ABA310067CC523D21"
|
|
||||||
{
|
|
||||||
"Sequence" = "3:200"
|
|
||||||
"DisplayName" = "8:インストール フォルダ"
|
|
||||||
"UseDynamicProperties" = "11:TRUE"
|
|
||||||
"IsDependency" = "11:FALSE"
|
|
||||||
"SourcePath" = "8:<VsdDialogDir>\\VsdAdminFolderDlg.wid"
|
|
||||||
"Properties"
|
|
||||||
{
|
|
||||||
"BannerBitmap"
|
|
||||||
{
|
|
||||||
"Name" = "8:BannerBitmap"
|
|
||||||
"DisplayName" = "8:#1001"
|
|
||||||
"Description" = "8:#1101"
|
|
||||||
"Type" = "3:8"
|
|
||||||
"ContextData" = "8:Bitmap"
|
|
||||||
"Attributes" = "3:4"
|
|
||||||
"Setting" = "3:1"
|
|
||||||
"UsePlugInResources" = "11:TRUE"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_369CF58D4F8D4D9BBF396369D057BDAD"
|
|
||||||
{
|
|
||||||
"UseDynamicProperties" = "11:FALSE"
|
|
||||||
"IsDependency" = "11:FALSE"
|
|
||||||
"SourcePath" = "8:<VsdDialogDir>\\VsdBasicDialogs.wim"
|
|
||||||
}
|
|
||||||
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_4AA74BFDB1CB4D9788E4C7FFE17FB05E"
|
|
||||||
{
|
|
||||||
"Name" = "8:#1902"
|
|
||||||
"Sequence" = "3:1"
|
|
||||||
"Attributes" = "3:3"
|
|
||||||
"Dialogs"
|
|
||||||
{
|
|
||||||
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_D1661F6F963D4A22BEE94CE2E8B698CA"
|
|
||||||
{
|
|
||||||
"Sequence" = "3:100"
|
|
||||||
"DisplayName" = "8:完了"
|
|
||||||
"UseDynamicProperties" = "11:TRUE"
|
|
||||||
"IsDependency" = "11:FALSE"
|
|
||||||
"SourcePath" = "8:<VsdDialogDir>\\VsdFinishedDlg.wid"
|
|
||||||
"Properties"
|
|
||||||
{
|
|
||||||
"BannerBitmap"
|
|
||||||
{
|
|
||||||
"Name" = "8:BannerBitmap"
|
|
||||||
"DisplayName" = "8:#1001"
|
|
||||||
"Description" = "8:#1101"
|
|
||||||
"Type" = "3:8"
|
|
||||||
"ContextData" = "8:Bitmap"
|
|
||||||
"Attributes" = "3:4"
|
|
||||||
"Setting" = "3:1"
|
|
||||||
"UsePlugInResources" = "11:TRUE"
|
|
||||||
}
|
|
||||||
"UpdateText"
|
|
||||||
{
|
|
||||||
"Name" = "8:UpdateText"
|
|
||||||
"DisplayName" = "8:#1058"
|
|
||||||
"Description" = "8:#1158"
|
|
||||||
"Type" = "3:15"
|
|
||||||
"ContextData" = "8:"
|
|
||||||
"Attributes" = "3:0"
|
|
||||||
"Setting" = "3:1"
|
|
||||||
"Value" = "8:#1258"
|
|
||||||
"DefaultValue" = "8:#1258"
|
|
||||||
"UsePlugInResources" = "11:TRUE"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_59EA03536965433C831FAB21F6FD0A1A"
|
|
||||||
{
|
|
||||||
"Name" = "8:#1901"
|
|
||||||
"Sequence" = "3:1"
|
|
||||||
"Attributes" = "3:2"
|
|
||||||
"Dialogs"
|
|
||||||
{
|
|
||||||
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_EB2754D3B6D443BE819211C3229241EC"
|
|
||||||
{
|
|
||||||
"Sequence" = "3:100"
|
|
||||||
"DisplayName" = "8:進行状況"
|
|
||||||
"UseDynamicProperties" = "11:TRUE"
|
|
||||||
"IsDependency" = "11:FALSE"
|
|
||||||
"SourcePath" = "8:<VsdDialogDir>\\VsdProgressDlg.wid"
|
|
||||||
"Properties"
|
|
||||||
{
|
|
||||||
"BannerBitmap"
|
|
||||||
{
|
|
||||||
"Name" = "8:BannerBitmap"
|
|
||||||
"DisplayName" = "8:#1001"
|
|
||||||
"Description" = "8:#1101"
|
|
||||||
"Type" = "3:8"
|
|
||||||
"ContextData" = "8:Bitmap"
|
|
||||||
"Attributes" = "3:4"
|
|
||||||
"Setting" = "3:1"
|
|
||||||
"UsePlugInResources" = "11:TRUE"
|
|
||||||
}
|
|
||||||
"ShowProgress"
|
|
||||||
{
|
|
||||||
"Name" = "8:ShowProgress"
|
|
||||||
"DisplayName" = "8:#1009"
|
|
||||||
"Description" = "8:#1109"
|
|
||||||
"Type" = "3:5"
|
|
||||||
"ContextData" = "8:1;True=1;False=0"
|
|
||||||
"Attributes" = "3:0"
|
|
||||||
"Setting" = "3:0"
|
|
||||||
"Value" = "3:1"
|
|
||||||
"DefaultValue" = "3:1"
|
|
||||||
"UsePlugInResources" = "11:TRUE"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_778D23487D0C4574B25E80BF03DB3526"
|
|
||||||
{
|
|
||||||
"Name" = "8:#1902"
|
|
||||||
"Sequence" = "3:2"
|
|
||||||
"Attributes" = "3:3"
|
|
||||||
"Dialogs"
|
|
||||||
{
|
|
||||||
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_1CF9D372D3C647F3BB7B26893F3A4BF2"
|
|
||||||
{
|
|
||||||
"Sequence" = "3:100"
|
|
||||||
"DisplayName" = "8:完了"
|
|
||||||
"UseDynamicProperties" = "11:TRUE"
|
|
||||||
"IsDependency" = "11:FALSE"
|
|
||||||
"SourcePath" = "8:<VsdDialogDir>\\VsdAdminFinishedDlg.wid"
|
|
||||||
"Properties"
|
|
||||||
{
|
|
||||||
"BannerBitmap"
|
|
||||||
{
|
|
||||||
"Name" = "8:BannerBitmap"
|
|
||||||
"DisplayName" = "8:#1001"
|
|
||||||
"Description" = "8:#1101"
|
|
||||||
"Type" = "3:8"
|
|
||||||
"ContextData" = "8:Bitmap"
|
|
||||||
"Attributes" = "3:4"
|
|
||||||
"Setting" = "3:1"
|
|
||||||
"UsePlugInResources" = "11:TRUE"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_C573A291AE8742878E845A40ABB37B27"
|
|
||||||
{
|
|
||||||
"Name" = "8:#1901"
|
|
||||||
"Sequence" = "3:2"
|
|
||||||
"Attributes" = "3:2"
|
|
||||||
"Dialogs"
|
|
||||||
{
|
|
||||||
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_FEF9AC50FC93462696295E9313A4A8C6"
|
|
||||||
{
|
|
||||||
"Sequence" = "3:100"
|
|
||||||
"DisplayName" = "8:進行状況"
|
|
||||||
"UseDynamicProperties" = "11:TRUE"
|
|
||||||
"IsDependency" = "11:FALSE"
|
|
||||||
"SourcePath" = "8:<VsdDialogDir>\\VsdAdminProgressDlg.wid"
|
|
||||||
"Properties"
|
|
||||||
{
|
|
||||||
"BannerBitmap"
|
|
||||||
{
|
|
||||||
"Name" = "8:BannerBitmap"
|
|
||||||
"DisplayName" = "8:#1001"
|
|
||||||
"Description" = "8:#1101"
|
|
||||||
"Type" = "3:8"
|
|
||||||
"ContextData" = "8:Bitmap"
|
|
||||||
"Attributes" = "3:4"
|
|
||||||
"Setting" = "3:1"
|
|
||||||
"UsePlugInResources" = "11:TRUE"
|
|
||||||
}
|
|
||||||
"ShowProgress"
|
|
||||||
{
|
|
||||||
"Name" = "8:ShowProgress"
|
|
||||||
"DisplayName" = "8:#1009"
|
|
||||||
"Description" = "8:#1109"
|
|
||||||
"Type" = "3:5"
|
|
||||||
"ContextData" = "8:1;True=1;False=0"
|
|
||||||
"Attributes" = "3:0"
|
|
||||||
"Setting" = "3:0"
|
|
||||||
"Value" = "3:1"
|
|
||||||
"DefaultValue" = "3:1"
|
|
||||||
"UsePlugInResources" = "11:TRUE"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_C694C3E8376648AEA5A6E830B2655FDF"
|
|
||||||
{
|
|
||||||
"Name" = "8:#1900"
|
|
||||||
"Sequence" = "3:1"
|
|
||||||
"Attributes" = "3:1"
|
|
||||||
"Dialogs"
|
|
||||||
{
|
|
||||||
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_2320E3B400CB4C2891EFBC2E8147D275"
|
|
||||||
{
|
|
||||||
"Sequence" = "3:100"
|
|
||||||
"DisplayName" = "8:ようこそ"
|
|
||||||
"UseDynamicProperties" = "11:TRUE"
|
|
||||||
"IsDependency" = "11:FALSE"
|
|
||||||
"SourcePath" = "8:<VsdDialogDir>\\VsdWelcomeDlg.wid"
|
|
||||||
"Properties"
|
|
||||||
{
|
|
||||||
"BannerBitmap"
|
|
||||||
{
|
|
||||||
"Name" = "8:BannerBitmap"
|
|
||||||
"DisplayName" = "8:#1001"
|
|
||||||
"Description" = "8:#1101"
|
|
||||||
"Type" = "3:8"
|
|
||||||
"ContextData" = "8:Bitmap"
|
|
||||||
"Attributes" = "3:4"
|
|
||||||
"Setting" = "3:1"
|
|
||||||
"UsePlugInResources" = "11:TRUE"
|
|
||||||
}
|
|
||||||
"CopyrightWarning"
|
|
||||||
{
|
|
||||||
"Name" = "8:CopyrightWarning"
|
|
||||||
"DisplayName" = "8:#1002"
|
|
||||||
"Description" = "8:#1102"
|
|
||||||
"Type" = "3:3"
|
|
||||||
"ContextData" = "8:"
|
|
||||||
"Attributes" = "3:0"
|
|
||||||
"Setting" = "3:1"
|
|
||||||
"Value" = "8:#1202"
|
|
||||||
"DefaultValue" = "8:#1202"
|
|
||||||
"UsePlugInResources" = "11:TRUE"
|
|
||||||
}
|
|
||||||
"Welcome"
|
|
||||||
{
|
|
||||||
"Name" = "8:Welcome"
|
|
||||||
"DisplayName" = "8:#1003"
|
|
||||||
"Description" = "8:#1103"
|
|
||||||
"Type" = "3:3"
|
|
||||||
"ContextData" = "8:"
|
|
||||||
"Attributes" = "3:0"
|
|
||||||
"Setting" = "3:1"
|
|
||||||
"Value" = "8:#1203"
|
|
||||||
"DefaultValue" = "8:#1203"
|
|
||||||
"UsePlugInResources" = "11:TRUE"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_41D45D8CDB6B425388B86A602E894FDF"
|
|
||||||
{
|
|
||||||
"Sequence" = "3:200"
|
|
||||||
"DisplayName" = "8:インストール フォルダ"
|
|
||||||
"UseDynamicProperties" = "11:TRUE"
|
|
||||||
"IsDependency" = "11:FALSE"
|
|
||||||
"SourcePath" = "8:<VsdDialogDir>\\VsdFolderDlg.wid"
|
|
||||||
"Properties"
|
|
||||||
{
|
|
||||||
"BannerBitmap"
|
|
||||||
{
|
|
||||||
"Name" = "8:BannerBitmap"
|
|
||||||
"DisplayName" = "8:#1001"
|
|
||||||
"Description" = "8:#1101"
|
|
||||||
"Type" = "3:8"
|
|
||||||
"ContextData" = "8:Bitmap"
|
|
||||||
"Attributes" = "3:4"
|
|
||||||
"Setting" = "3:1"
|
|
||||||
"UsePlugInResources" = "11:TRUE"
|
|
||||||
}
|
|
||||||
"InstallAllUsersVisible"
|
|
||||||
{
|
|
||||||
"Name" = "8:InstallAllUsersVisible"
|
|
||||||
"DisplayName" = "8:#1059"
|
|
||||||
"Description" = "8:#1159"
|
|
||||||
"Type" = "3:5"
|
|
||||||
"ContextData" = "8:1;True=1;False=0"
|
|
||||||
"Attributes" = "3:0"
|
|
||||||
"Setting" = "3:0"
|
|
||||||
"Value" = "3:1"
|
|
||||||
"DefaultValue" = "3:1"
|
|
||||||
"UsePlugInResources" = "11:TRUE"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_FED5E0EA82714FD3A118651EE425A858"
|
|
||||||
{
|
|
||||||
"Sequence" = "3:300"
|
|
||||||
"DisplayName" = "8:インストールの確認"
|
|
||||||
"UseDynamicProperties" = "11:TRUE"
|
|
||||||
"IsDependency" = "11:FALSE"
|
|
||||||
"SourcePath" = "8:<VsdDialogDir>\\VsdConfirmDlg.wid"
|
|
||||||
"Properties"
|
|
||||||
{
|
|
||||||
"BannerBitmap"
|
|
||||||
{
|
|
||||||
"Name" = "8:BannerBitmap"
|
|
||||||
"DisplayName" = "8:#1001"
|
|
||||||
"Description" = "8:#1101"
|
|
||||||
"Type" = "3:8"
|
|
||||||
"ContextData" = "8:Bitmap"
|
|
||||||
"Attributes" = "3:4"
|
|
||||||
"Setting" = "3:1"
|
|
||||||
"UsePlugInResources" = "11:TRUE"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_D48C6A40D2224BD49C5E9867810DAD92"
|
|
||||||
{
|
|
||||||
"UseDynamicProperties" = "11:FALSE"
|
|
||||||
"IsDependency" = "11:FALSE"
|
|
||||||
"SourcePath" = "8:<VsdDialogDir>\\VsdUserInterface.wim"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"MergeModule"
|
|
||||||
{
|
|
||||||
"{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_28AEC9B44C6A496CAC798DE176782757"
|
|
||||||
{
|
|
||||||
"UseDynamicProperties" = "11:TRUE"
|
|
||||||
"IsDependency" = "11:TRUE"
|
|
||||||
"SourcePath" = "8:policy_9_0_Microsoft_VC90_CRT_x86.msm"
|
|
||||||
"Properties"
|
|
||||||
{
|
|
||||||
}
|
|
||||||
"LanguageId" = "3:0"
|
|
||||||
"Exclude" = "11:FALSE"
|
|
||||||
"Folder" = "8:"
|
|
||||||
"Feature" = "8:"
|
|
||||||
"IsolateTo" = "8:"
|
|
||||||
}
|
|
||||||
"{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_87C9E6F56CF848E191AADE5E55F0BFB2"
|
|
||||||
{
|
|
||||||
"UseDynamicProperties" = "11:TRUE"
|
|
||||||
"IsDependency" = "11:TRUE"
|
|
||||||
"SourcePath" = "8:microsoft_vc90_crt_x86.msm"
|
|
||||||
"Properties"
|
|
||||||
{
|
|
||||||
}
|
|
||||||
"LanguageId" = "3:0"
|
|
||||||
"Exclude" = "11:FALSE"
|
|
||||||
"Folder" = "8:"
|
|
||||||
"Feature" = "8:"
|
|
||||||
"IsolateTo" = "8:"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"ProjectOutput"
|
|
||||||
{
|
|
||||||
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_7EA6C452688D458CB8D7A9FD80D8A12F"
|
|
||||||
{
|
|
||||||
"SourcePath" = "8:..\\Release\\SheetCheckerTWL.exe"
|
|
||||||
"TargetName" = "8:"
|
|
||||||
"Tag" = "8:"
|
|
||||||
"Folder" = "8:_AA91A66096B740B5B6C31155FF0A5E08"
|
|
||||||
"Condition" = "8:"
|
|
||||||
"Transitive" = "11:FALSE"
|
|
||||||
"Vital" = "11:TRUE"
|
|
||||||
"ReadOnly" = "11:FALSE"
|
|
||||||
"Hidden" = "11:FALSE"
|
|
||||||
"System" = "11:FALSE"
|
|
||||||
"Permanent" = "11:FALSE"
|
|
||||||
"SharedLegacy" = "11:FALSE"
|
|
||||||
"PackageAs" = "3:1"
|
|
||||||
"Register" = "3:1"
|
|
||||||
"Exclude" = "11:FALSE"
|
|
||||||
"IsDependency" = "11:FALSE"
|
|
||||||
"IsolateTo" = "8:"
|
|
||||||
"ProjectOutputGroupRegister" = "3:1"
|
|
||||||
"OutputConfiguration" = "8:"
|
|
||||||
"OutputGroupCanonicalName" = "8:Built"
|
|
||||||
"OutputProjectGuid" = "8:{426F4BD7-3EEB-421A-87AB-697DF71DFB47}"
|
|
||||||
"ShowKeyOutput" = "11:TRUE"
|
|
||||||
"ExcludeFilters"
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,43 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">
|
|
||||||
|
|
||||||
<xsl:template match="/">
|
|
||||||
<Sheet>
|
|
||||||
<xsl:apply-templates select="ss:Workbook/ss:Worksheet/ss:Table/ss:Row/ss:Cell" />
|
|
||||||
</Sheet>
|
|
||||||
</xsl:template>
|
|
||||||
|
|
||||||
<xsl:template match="*">
|
|
||||||
<xsl:apply-templates />
|
|
||||||
</xsl:template>
|
|
||||||
|
|
||||||
<!-- 特定のセルだけ抜き出して新たにタグづけする -->
|
|
||||||
<xsl:template match="ss:Cell">
|
|
||||||
<!-- NamedCellノードの名前を変数に代入 -->
|
|
||||||
<xsl:variable name="tag">
|
|
||||||
<xsl:apply-templates select="ss:NamedCell" />
|
|
||||||
</xsl:variable>
|
|
||||||
<!-- NamedCellノードの名前がSubmitVersionのときのみ出力 -->
|
|
||||||
<xsl:if test="$tag='SubmitVersion'">
|
|
||||||
<SubmitVersion><xsl:value-of select="ss:Data" /></SubmitVersion>
|
|
||||||
</xsl:if>
|
|
||||||
<xsl:if test="$tag='GameCode'">
|
|
||||||
<GameCode><xsl:value-of select="ss:Data" /></GameCode>
|
|
||||||
</xsl:if>
|
|
||||||
<xsl:if test="$tag='RomVersion'">
|
|
||||||
<RomVersion><xsl:value-of select="ss:Data" /></RomVersion>
|
|
||||||
</xsl:if>
|
|
||||||
<xsl:if test="$tag='CRC'">
|
|
||||||
<CRC><xsl:value-of select="ss:Data" /></CRC>
|
|
||||||
</xsl:if>
|
|
||||||
<xsl:if test="$tag='Media'">
|
|
||||||
<Media><xsl:value-of select="ss:Data" /></Media>
|
|
||||||
</xsl:if>
|
|
||||||
</xsl:template>
|
|
||||||
|
|
||||||
<!-- NamedCellノードの名前(属性で指定されている)を取得 -->
|
|
||||||
<xsl:template match="ss:NamedCell">
|
|
||||||
<xsl:value-of select="@ss:Name" />
|
|
||||||
</xsl:template>
|
|
||||||
|
|
||||||
</xsl:stylesheet>
|
|
||||||
Loading…
Reference in New Issue
Block a user