From abed2bf6bc201c978928a20c3e3d9865c8957fc3 Mon Sep 17 00:00:00 2001 From: nishikawa_takeshi Date: Thu, 25 Dec 2008 04:31:21 +0000 Subject: [PATCH] =?UTF-8?q?=E3=83=9E=E3=82=B9=E3=82=BF=E3=82=A8=E3=83=87?= =?UTF-8?q?=E3=82=A3=E3=82=BF:SDK=E3=83=90=E3=83=BC=E3=82=B8=E3=83=A7?= =?UTF-8?q?=E3=83=B3=E3=83=81=E3=82=A7=E3=83=83=E3=82=AF=E3=82=92=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3=E3=80=82=E3=81=B2=E3=81=A8=E3=81=BE=E3=81=9A=E3=83=90?= =?UTF-8?q?=E3=83=BC=E3=82=B8=E3=83=A7=E3=83=B3=E3=82=921.2a=E3=81=AB?= =?UTF-8?q?=E3=81=99=E3=82=8B=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlToolsRED@99 7061adef-622a-194b-ae81-725974e89856 --- .../MasterEditorTWL/MasterEditorTWL.ncb | Bin 11365376 -> 11365376 bytes .../MasterEditorTWL/MasterEditorTWL.suo | Bin 64512 -> 66560 bytes .../MasterEditorTWL/Debug/BuildLog.htm | Bin 13022 -> 12768 bytes .../MasterEditorTWL/MasterEditorTWL/Form1.h | 2 +- .../MasterEditorTWL/MasterEditorTWL/srl.cpp | 28 +++++-- .../MasterEditorTWL/utility.cpp | 75 ++++++++++++++++++ .../MasterEditorTWL/MasterEditorTWL/utility.h | 28 +++++++ 7 files changed, 126 insertions(+), 7 deletions(-) diff --git a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL.ncb b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL.ncb index 841cf474aa4046fba82c11f23fe7a62b9e8dc8e8..eb509d3559004842c8f195d26e2bbfd2ea1d83dc 100644 GIT binary patch delta 10182 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 Q=<%36mAH1;o)z~015X(hEC2ui delta 23257 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 diff --git a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL.suo b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL.suo index ad6ea141d6c68dccbf47b335f8cb9c94ec2f2977..fff0604e79235da11f80bfce1428429ad8498761 100644 GIT binary patch delta 2869 zcmZ{m3sBTW9LIP6_rK%B6X84+iQokCg~Wl3is*Rw%0mle)UugWdQtSkLQ_bgH>UZx zpO37j>`KdOgky^uBSN#s^fK&aWtiB*iZmNVtcbop*qgbGe$40gx8M8j?tk~cw@X!r zrK;Mjea0Ahg%Dyi7zHvwHb@5^kO?M(F<=&bXyo^siOdJ`z{NDuGE0`yQp@Dox1xR< zNCr#5O3;P4QkR_HiF`RI2c4)_pu7vL0)L}kiLwg#&6{n}Ek{@Su2;94ZyV-AQV5zD zkz#H_qOOfN5@D0vUlhe0Po=W{1=fCOHHvHMbpMZJT$GS-atsB-!G|woIZyt5qKo#& zr1+iFXj-Jlwh;Pb2~_U%*<>Vg2X|l{jLb{toO$%7nPDA*+Cf?|;K6|-kcE2T-kVVW zj5-ITDzEERoBTkXi+jh&PJ_xz;{xICEvVN3j&R*(2w?!B&Rtkx$Z@pPT`8BTGwuk( zEQxmPuS>qqa7;at)5Q&WPHMwNH%l|Q^iWY?xHM-s?JMyQcd6JBwT8({LJQNA$Ya{* z^r!-!B$cHWSQF4Lt7mmmKea{ki(LkIZTMNJDbsDe44wa=Iy1*fvl^)ypVemOWWiA( za)hGhihcrGfblzsIiZ{&-2AO@{;58dSKb znxZ$kDTUhUiOqvl?bb+1uAkb-+a4_=D7bk#B`vI{+HEfNUde8YjHea19*})`9#nSQ z+Q8KYZK!sUx7oB_gfTlvCjG(>M(!Kh{AKRk)tCYA=QSwTf``F6upVpx8-X7XVBcnx zTfkQE2y3dS?2Lt+9jlb<_t7#?9z{m+uM_B$3+^cFw4OQWfAXQWI~ougx|&!QU})=Qh6^nq@@ox$@x=8 zspj?R2HlffZ{=0AQ?UAss@+!Aw{j9zo2BU}@o0i4yvxJ~;wG)Rk>7%xqcP0aq_uXf z@je$3LJUMetY{@@<_t~_dW{@2OJXsYaBU%eYt?Od@u!Y@M*@{3{VO<{D8HwU=!e|2dr_t z0=U1|gsAKm`562L*ujs0jeHz70FK{4sPQS}-1twe@lo0dIO1Rm`7S`hlUb-Wel_LD z7oe=rS_;M&_oBkD=>aYBS-S{12k%9lcJE0ZnD-uQC4l!JM?hdfb=}`}P#X0Z?}UxU{wFrL-M!5B%WA{IFhoS?Ny$P-yW zjL;hABayS5t~K^~SU_Z>?B2U#3{|ZdQpua0`)85>uMOWdAuUyF{O}=-uVwb}Rt#x; zZL`K>g*30$_(lq8muck;xgnvAtf%j-*lh*hS=HC#Sf-g?DvLG`hQC zYjw`QuM-+-x@43rJJ z)SF9PQnymp?UPZ|TAWGSw>W6PHNWz8qrA;~4GNSDqhHiOYWjRZFGHw`2B*=RUenmS zUeVx}xB{c;7GL52O>XdKZIa&f4eG7moG(sG`f*;b-xYru+1s;FMMEYP9hgFI_~Op% zQuS?lT;gW7)7fM5v5I!eXmy?E;kT%28n2RppXAftcIiK!tL|=Vl9bf$QA^Gi84)d> zzdSXbv8r^pRZ_xpR|kGDX!~&=)m~>)`9B9Oazb!UjoesTK*8m~&Qjuou%}`(n*l+IOl@6}IoT{sVeJgogkC delta 1678 zcmZ{ke@s(X6vy9r@3mEs3bkOZP?{Gy?W^5<7msa zik%syq<;C+ju!u;WaygSnIUl#ql7IpAd^Gy2RA1!9H#fAj{_x>$HS=_;hnV5U}tBp zzD3-e)NaJDE?df6?qn&W%h2vrwjUGsT~q1d%%obpT|@ls12;iSkzeMcI`UPw|nvwz75f4S^m zDQgwU*u5=`up`-!z)HsVt8x*ZZZX7ho_n0+{=ZKawwb^FRfvD(|K;P{;} zSQAbY+VwK>SD8`KuOYQA9>?~?P&#&PyN1TqF*vLxi9kJ%%01&Q+IFZUfgCyhtuk(` zK7wPP*hnwbgU{z%XtX%HW3n7vkxm0A(jV7eO+xz17g1hbk1u|o3vV@NR7F45K6|-2E(G^~q;2d-Zq9^5UQ`mGxz;>(V@AUtrMJHRzK$ zex3D1UT+Qh^qdja^+}WIVU2ODce9VhAr%Zdb<54VE;YRBuUA60Eyuq{hO5VclHZ%q z+FOn@cVck#_P5$TpZ*K^&$lS^N&e(6Mh@}ox2T2Rk4~mIuy28aQ14UX%pI33d;vG% za-S9Lm081$l788wZUx&fCr9}f#e1!95mN7sLUV%^dlx6-?4l!Dg$2&K5#rpzOu~su z3oKX4gzpfK`^V9>!6PJN*SVRfZnsBEIPSbgDC+P@@Si%xezAQwkJi4ZTRIT;Z#x7SktAL|0%wi_}{uZEn0%S%knVMzP@f0R_Gdd$lVTarE|FgPhI6rkm^7cCbx$;Z)dsh}Vc|@(x9r%>e=u zjF^fyR|*z03Ob{kvH7piXMQZgjLJaOF6gR(HX3i5`MXFLzdb5(c0i&cVx-JGi mh9rhWhLXvFY?_;=XzXGX#89$1UdxGetName()->Version; - return ( ver->Major.ToString() + "." + ver->Minor.ToString() ); + return ( ver->Major.ToString() + "." + ver->Minor.ToString() + "a" ); } // SRLに登録されないROM仕様のフォーム入力を diff --git a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/srl.cpp b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/srl.cpp index f3ddaa3..0d32f6e 100644 --- a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/srl.cpp +++ b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/srl.cpp @@ -1592,19 +1592,35 @@ ECSrlResult RCSrl::mrcTWL( FILE *fp ) if( this->hMrcSpecialList->IsCheck ) { // SDKバージョン - System::Boolean match = true; + System::Boolean isOld = false; + System::Boolean isPR = false; + System::Boolean isRC = false; for each( RCSDKVersion ^sdk in this->hSDKList ) { - if( sdk->IsStatic && (sdk->Code != this->hMrcSpecialList->SDKVer) ) + if( sdk->IsStatic ) { - match = false; + isPR = MasterEditorTWL::IsSDKVersionPR( sdk->Code ); + isRC = MasterEditorTWL::IsSDKVersionRC( sdk->Code ); + isOld = MasterEditorTWL::IsOldSDKVersion( sdk->Code, this->hMrcSpecialList->SDKVer ); } } - if( !match ) + if( isOld ) { this->hWarnList->Add( gcnew RCMrcError( - "SDKバージョン", METWL_ERRLIST_NORANGE, METWL_ERRLIST_NORANGE, "本プログラムに登録されているバージョン情報と一致しません。", - "SDK Version", "The data doesn't match one registered in this program.", false, true ) ); + "SDKバージョン", METWL_ERRLIST_NORANGE, METWL_ERRLIST_NORANGE, "設定ファイルに登録されているバージョンよりも古いバージョンです。", + "SDK Version", "Older version (comparing with a setting file)", false, true ) ); + } + if( isPR ) + { + this->hWarnList->Add( gcnew RCMrcError( + "SDKバージョン", METWL_ERRLIST_NORANGE, METWL_ERRLIST_NORANGE, "ご使用のSDKバージョンはPR版です。", + "SDK Version", "Used version is PR.", false, true ) ); + } + if( isRC ) + { + this->hWarnList->Add( gcnew RCMrcError( + "SDKバージョン", METWL_ERRLIST_NORANGE, METWL_ERRLIST_NORANGE, "ご使用のSDKバージョンはRC版です。", + "SDK Version", "Used version is RC.", false, true ) ); } // Shared2ファイルサイズ diff --git a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/utility.cpp b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/utility.cpp index 86778d2..2b4ca97 100644 --- a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/utility.cpp +++ b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/utility.cpp @@ -492,3 +492,78 @@ u32 MasterEditorTWL::countBits( const u32 val ) n = (n>>16) + (n & 0x0000ffff); return n; } + +// +// SDKバージョンの大小判定をする +// +// @arg [in] 判定対象のSDKバージョン(SRLに含まれるもの) +// @arg [in] 判定基準のSDKバージョン(設定ファイルに記述されるもの) +// +// @ret 判定対象が基準よりも旧バージョンのとき(認められないとき) true +// +System::Boolean MasterEditorTWL::IsOldSDKVersion( u32 target, u32 criterion ) +{ + // SDKバージョンからメジャーバージョン/マイナーバージョン/relstepを抽出 + System::Byte majorTar = (System::Byte)(0xff & (target >> 24)); + System::Byte minorTar = (System::Byte)(0xff & (target >> 16)); + System::UInt16 relstepTar = (System::UInt16)(0xffff & target); + + System::Byte majorCri = (System::Byte)(0xff & (criterion >> 24)); + System::Byte minorCri = (System::Byte)(0xff & (criterion >> 16)); + System::UInt16 relstepCri = (System::UInt16)(0xffff & criterion); + + if( majorTar < majorCri ) + { + return true; + } + + // メジャーが一致するときマイナーを判定 + if( (majorTar == majorCri) && (minorTar < minorCri) ) + { + return true; + } + + // メジャーもマイナーも一致するときrelstepを判定 + if( (majorTar == majorCri) && (minorTar == minorCri) && (relstepTar < relstepCri) ) + { + if( !MasterEditorTWL::IsSDKVersionPR(relstepTar) && !MasterEditorTWL::IsSDKVersionRC(relstepTar) ) + { + return true; // Release版のときのみ + } + } + return false; +} + +// +// SDKバージョンがPR版かどうか調べる +// +// @arg [in] 判定対象のSDKバージョン(SRLに含まれるもの) +// +// @ret PR版のとき true +// +System::Boolean MasterEditorTWL::IsSDKVersionPR( u32 target ) +{ + System::UInt16 relstep = (System::UInt16)(0xffff & target); + if( (10000 <= relstep) && (relstep < 20000) ) + { + return true; + } + return false; +} + +// +// SDKバージョンがRC版かどうか調べる +// +// @arg [in] 判定対象のSDKバージョン(SRLに含まれるもの) +// +// @ret PR版のとき true +// +System::Boolean MasterEditorTWL::IsSDKVersionRC( u32 target ) +{ + System::UInt16 relstep = (System::UInt16)(0xffff & target); + if( (20000 <= relstep) && (relstep < 30000) ) + { + return true; + } + return false; +} diff --git a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/utility.h b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/utility.h index 1fb36e6..e0dd408 100644 --- a/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/utility.h +++ b/build/tools/MasterEditor/MasterEditorTWL/MasterEditorTWL/utility.h @@ -165,4 +165,32 @@ namespace MasterEditorTWL // u32 countBits( const u32 val ); + // + // SDKバージョンの大小判定をする + // + // @arg [in] 判定対象のSDKバージョン(SRLに含まれるもの) + // @arg [in] 判定基準のSDKバージョン(設定ファイルに記述されるもの) + // + // @ret 判定対象が基準よりも旧バージョンのとき(認められないとき) true + // + System::Boolean IsOldSDKVersion( u32 target, u32 criterion ); + + // + // SDKバージョンがPR版かどうか調べる + // + // @arg [in] 判定対象のSDKバージョン(SRLに含まれるもの) + // + // @ret PR版のとき true + // + System::Boolean IsSDKVersionPR( u32 target ); + + // + // SDKバージョンがRC版かどうか調べる + // + // @arg [in] 判定対象のSDKバージョン(SRLに含まれるもの) + // + // @ret PR版のとき true + // + System::Boolean IsSDKVersionRC( u32 target ); + } // end of namespace MasterEditorTWL